Ejemplo n.º 1
0
def _process_undeclared(cleaned_data):
    to_drop = skip_apartments('consumption_undeclared_ap_', cleaned_data)
    if not to_drop or not cleaned_data['ap_consumptions'] or not cleaned_data['consumption']:
        return
    for pk in to_drop:
        if pk in cleaned_data['ap_consumptions']:
            del cleaned_data['ap_consumptions'][pk]
    declared = sum(cleaned_data['ap_consumptions'].values())
    share = (Decimal(cleaned_data['consumption']) - declared) / len(to_drop)
    for pk in to_drop:
        cleaned_data['ap_consumptions'][pk] = share
Ejemplo n.º 2
0
 def clean(self):
     cleaned_data = super(InitialOperations, self).clean()
     to_skip = skip_apartments('undeclared_ap_', cleaned_data)
     sums = all_apartments_data('sum_ap_', cleaned_data)
     dates = all_apartments_data('date_ap_', cleaned_data)
     for k in to_skip:
         del(sums[k])
         del(dates[k])
    
     msg = _(u'Introduceți o valoare')
     for k, v in sums.iteritems():
         if not v:
             self._errors['sum_ap_' + str(k)] = self.error_class([msg])
     if not sums:
         raise forms.ValidationError(_(u'Nu a fost introdusă nici o valoare'))
     drop_skip_checkboxes('undeclared_ap_', cleaned_data)
     
     cleaned_data['sums'] = sums
     cleaned_data['dates'] = dates
     return cleaned_data