diff options
Diffstat (limited to 'ishtar_common')
| -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 | 
3 files changed, 13 insertions, 7 deletions
| 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): | 
