diff options
-rw-r--r-- | archaeological_files/models.py | 7 | ||||
-rw-r--r-- | archaeological_finds/models_finds.py | 8 | ||||
-rw-r--r-- | ishtar_common/models.py | 4 | ||||
-rw-r--r-- | ishtar_common/templates/blocks/DataTables-stats.html | 3 | ||||
-rw-r--r-- | ishtar_common/views_item.py | 13 |
5 files changed, 21 insertions, 14 deletions
diff --git a/archaeological_files/models.py b/archaeological_files/models.py index c4bdb68f5..e089df24e 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -103,9 +103,10 @@ class File(ClosedItem, DocumentItem, BaseHistorizedItem, OwnPerms, ValueGetter, key for key, lbl in STATISTIC_MODALITIES_OPTIONS.items()] STATISTIC_SUM_VARIABLE = OrderedDict( ( - ("pk", _("Number")), - ("total_surface", _(u"Total surface (m2)")), - ("total_developed_surface", _(u"Total developed surface (m2)")), + ("pk", (_("Number"), 1)), + ("total_surface", (_(u"Total surface (km2)"), 0.000001)), + ("total_developed_surface", ( + _(u"Total developed surface (km2)"), 0.000001)), ) ) diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 57ae1549c..7daf4cbec 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -840,10 +840,10 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem, key for key, lbl in STATISTIC_MODALITIES_OPTIONS.items()] STATISTIC_SUM_VARIABLE = OrderedDict( ( - ("pk", _("Number")), - ("weight", _("Weight")), - ("estimated_value", _("Estimated value")), - ("insurance_value", _("Insurance value")), + ("pk", (_("Number"), 1)), + ("weight", (_("Weight (kg)"), 0.001)), + ("estimated_value", (_("Estimated value"), 1)), + ("insurance_value", (_("Insurance value"), 1)), ) ) diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 032004e2f..025e21f61 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1936,8 +1936,8 @@ class StatisticItem: # OrderedDict([('year', _("Year")), # ("operation_type__label", _("Operation type"))]) STATISTIC_SUM_VARIABLE = OrderedDict( - (("pk", _("Number")),) - ) # example: "Price", "Volume" + (("pk", (_("Number"), 1)),) + ) # example: "Price", "Volume" - the number is a multiplier class BaseHistorizedItem(StatisticItem, TemplateItem, FullSearch, Imported, diff --git a/ishtar_common/templates/blocks/DataTables-stats.html b/ishtar_common/templates/blocks/DataTables-stats.html index a1fcc8743..b17112200 100644 --- a/ishtar_common/templates/blocks/DataTables-stats.html +++ b/ishtar_common/templates/blocks/DataTables-stats.html @@ -29,7 +29,8 @@ <label for="stats_sum-{{name}}">{% trans "Sum" %}</label> <select id="stats_sum-{{name}}" name="stats_sum"> {% for sum_var, sum_var_lbl in current_model.STATISTIC_SUM_VARIABLE.items %} - <option value="{{sum_var}}"{% if forloop.first %} selected='selected'{% endif %}>{{sum_var_lbl}}</option> + <option value="{{sum_var}}"{% if forloop.first %} + selected='selected'{% endif %}>{{sum_var_lbl.0}}</option> {% endfor %} </select> </p> diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index f5dedb8d5..7b01f36b2 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -1215,7 +1215,7 @@ def _format_modality(value): def _get_json_stats(items, stats_sum_variable, stats_modality_1, - stats_modality_2): + stats_modality_2, multiply=1): if stats_modality_2: q = items.values(stats_modality_1, stats_modality_2) else: @@ -1232,13 +1232,15 @@ def _get_json_stats(items, stats_sum_variable, stats_modality_1, if not data or data[-1][0] != modality_1: data.append([modality_1, []]) data[-1][1].append( - (_format_modality(values[stats_modality_2]), values["sum"]) + (_format_modality(values[stats_modality_2]), + (values["sum"] or 0) * multiply) ) else: q = q.order_by(stats_modality_1) for values in q.all(): modality_1 = values[stats_modality_1] - data.append([_format_modality(modality_1), values["sum"]]) + data.append([_format_modality(modality_1), + (values["sum"] or 0) * multiply]) data = json.dumps({"data": data}) return HttpResponse(data, content_type='application/json') @@ -1659,8 +1661,11 @@ def get_item(model, func_name, default_name, extra_request_keys=None, if not stats_sum_variable or \ stats_sum_variable not in stats_sum_variable_keys: stats_sum_variable = stats_sum_variable_keys[0] + multiply = model.STATISTIC_SUM_VARIABLE[stats_sum_variable][1] return _get_json_stats( - items, stats_sum_variable, stats_modality_1, stats_modality_2) + items, stats_sum_variable, stats_modality_1, stats_modality_2, + multiply=multiply + ) query_table_cols = [] for idx, cols in enumerate(table_cols): |