diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-05-27 09:27:21 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-06-17 13:21:28 +0200 | 
| commit | 1303ccd51e500e3764d5b0feccd23c9af3b572e7 (patch) | |
| tree | c93ba66da837f440d78c5e062262f0b321f1be7c | |
| parent | 1ae1a5c814b92265830c508d821dbd14e339fff5 (diff) | |
| download | Ishtar-1303ccd51e500e3764d5b0feccd23c9af3b572e7.tar.bz2 Ishtar-1303ccd51e500e3764d5b0feccd23c9af3b572e7.zip | |
Statistics: manage units
| -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): | 
