示例#1
0
 def __str__(self):
     billtype = get_value_if_choices(
         self.bill_type, self.get_field_by_name('bill_type'))
     if self.num is None:
         return "%s - %s" % (billtype, get_value_converted(self.date))
     else:
         return "%s %s - %s" % (billtype, self.num_txt, get_value_converted(self.date))
示例#2
0
 def __init__(self, comp, owner):
     PrintItem.__init__(self, comp, owner)
     try:
         if isinstance(self.comp, XferCompDate):
             if isinstance(self.comp.value, datetime.date):
                 self.value = self.comp.value
             else:
                 self.value = datetime.date(
                     *[int(subvalue) for subvalue in re.split(r'[^\d]', six.text_type(self.comp.value))[:3]])
         elif isinstance(self.comp, XferCompDateTime):
             if isinstance(self.comp.value, datetime.datetime):
                 self.value = self.comp.value
             else:
                 self.value = datetime.datetime(
                     *[int(subvalue) for subvalue in re.split(r'[^\d]', six.text_type(self.comp.value))])
         elif isinstance(self.comp, XferCompTime):
             if isinstance(self.comp.value, datetime.time):
                 self.value = self.comp.value
             else:
                 self.value = datetime.time(
                     *[int(subvalue) for subvalue in re.split(r'[^\d]', six.text_type(self.comp.value))[:2]])
         elif isinstance(self.comp, XferCompSelect):
             self.value = self.comp.get_value_text()
         elif isinstance(self.comp, XferCompCheck):
             self.value = get_value_converted(bool(self.comp.value), True)
         else:
             self.value = self.comp.value
     except Exception as err:
         logging.getLogger("lucterios.core.print").exception(
             six.text_type(err))
         self.value = six.text_type(self.comp.value)
     self.value = get_value_converted(self.value, True)
     self.size_x, self.height = calcul_text_size(self.value)
     self.height = self.height * 1.1
示例#3
0
 def generate_account_callfunds(self, call_funds, fiscal_year):
     for type_call, type_title in self.get_callfunds_list():
         calldetails = call_funds.calldetail_set.filter(type_call=type_call)
         if len(calldetails) > 0:
             designation = _(
                 'call of funds "%(type)s" #%(num)d - %(date)s') % {
                     'num': call_funds.num,
                     'type': type_title,
                     'date': get_value_converted(call_funds.date)
                 }
             new_entry = EntryAccount.objects.create(
                 year=fiscal_year,
                 date_value=call_funds.date,
                 designation=designation,
                 journal_id=3)
             owner_account_filter = call_funds.supporting.get_third_mask(
                 type_owner=type_call + 1)
             owner_account = call_funds.owner.third.get_account(
                 fiscal_year, owner_account_filter)
             total = self._generate_account_callfunds_by_type(
                 new_entry, type_call, calldetails)
             EntryLineAccount.objects.create(account=owner_account,
                                             amount=total,
                                             entry=new_entry,
                                             third=call_funds.owner.third)
示例#4
0
 def compute_table_size(self):
     for header in self.comp.headers:
         size_cx, size_cy = calcul_text_size(
             header.descript, 9, 10, "center", True)
         column = [header.descript, size_cx * self.RATIO]
         self.size_rows[0] = max(self.size_rows[0], size_cy)
         row_idx = 0
         for record in self.comp.records.values():
             while len(self.rows) <= row_idx:
                 self.rows.append([])
             while len(self.size_rows) <= (row_idx + 1):
                 self.size_rows.append(0)
             value = get_value_converted(record[header.name], True)
             if header.type == 'icon':
                 value = BASE64_PREFIX + value
                 img_size = get_image_size(value)
                 size_x = int(round(img_size[0] * DPI))
                 size_y = int(round(img_size[1] * DPI))
             else:
                 size_x, size_y = calcul_text_size(
                     value, 9, 10, "start", True)
             self.rows[row_idx].append(six.text_type(value))
             self.size_rows[
                 row_idx + 1] = max(self.size_rows[row_idx + 1], size_y)
             column[1] = max(column[1], size_x * self.RATIO)
             row_idx += 1
         self.columns.append(column)
示例#5
0
 def __init__(self, comp, owner):
     PrintItem.__init__(self, comp, owner)
     try:
         if isinstance(self.comp, XferCompDate):
             if isinstance(self.comp.value, datetime.date):
                 self.value = self.comp.value
             else:
                 self.value = datetime.date(
                     *[int(subvalue) for subvalue in re.split(r'[^\d]', six.text_type(self.comp.value))[:3]])
         elif isinstance(self.comp, XferCompDateTime):
             if isinstance(self.comp.value, datetime.datetime):
                 self.value = self.comp.value
             else:
                 self.value = datetime.datetime(
                     *[int(subvalue) for subvalue in re.split(r'[^\d]', six.text_type(self.comp.value))])
         elif isinstance(self.comp, XferCompTime):
             if isinstance(self.comp.value, datetime.time):
                 self.value = self.comp.value
             else:
                 self.value = datetime.time(
                     *[int(subvalue) for subvalue in re.split(r'[^\d]', six.text_type(self.comp.value))[:2]])
         elif isinstance(self.comp, XferCompSelect):
             self.value = self.comp.get_value_text()
         elif isinstance(self.comp, XferCompCheck):
             self.value = get_value_converted(bool(self.comp.value), True)
         else:
             self.value = self.comp.value
     except Exception:
         getLogger("lucterios.core.print").exception('PrintLabel')
         self.value = six.text_type(self.comp.value)
     self.init_label()
示例#6
0
 def compute_table_size(self):
     for header in self.comp.headers:
         size_cx, size_cy = calcul_text_size(header.descript, 9, 10, "center", True)
         self.size_rows[0] = max(self.size_rows[0], size_cy)
         self.columns.append([header.descript, size_cx * self.RATIO])
     row_idx = 0
     for recordid in self.comp.record_ids:
         record = self.comp.records[recordid]
         while len(self.rows) <= row_idx:
             self.rows.append([])
         while len(self.size_rows) <= (row_idx + 1):
             self.size_rows.append(0)
         hd_idx = 0
         for header in self.comp.headers:
             value = get_value_converted(record[header.name], True)
             if header.htype == 'icon':
                 value = BASE64_PREFIX + value
                 img_size = get_image_size(value)
                 size_x = int(round(img_size[0] * DPI))
                 size_y = int(round(img_size[1] * DPI))
             else:
                 size_x, size_y = calcul_text_size(value, 9, 10, "start", True)
             self.rows[row_idx].append(six.text_type(value))
             self.columns[hd_idx][1] = max(self.columns[hd_idx][1], size_x * self.RATIO)
             hd_idx += 1
         self.size_rows[row_idx + 1] = max(self.size_rows[row_idx + 1], size_y)
         row_idx += 1
示例#7
0
 def get_json_value(self):
     compjson = []
     for key in self.record_ids:
         record = self.records[key]
         json_record = {}
         json_record['id'] = key
         for header in self.headers:
             json_record[header.name] = six.text_type(get_value_converted(record[header.name], convert_datetime=False))
         for rec_name in record.keys():
             if rec_name.startswith('__') and (rec_name not in self.headers):
                 json_record[rec_name] = record[rec_name]
         compjson.append(json_record)
     return compjson
示例#8
0
 def CurrentCallFundsAdding(self, to_create):
     nb_seq = 0
     if Params.getvalue("condominium-mode-current-callfunds") == 0:
         nb_seq = 4
     if Params.getvalue("condominium-mode-current-callfunds") == 1:
         nb_seq = 12
     year = FiscalYear.get_current()
     calls = CallFunds.objects.filter(date__gte=year.begin,
                                      date__lte=year.end,
                                      calldetail__type_call=0).distinct()
     nb_curent = len(calls)
     if to_create:
         year = FiscalYear.get_current()
         date = same_day_months_after(year.begin,
                                      int(nb_curent * 12 / nb_seq))
         new_call = CallFunds.objects.create(
             date=date,
             comment=_(
                 "Call of funds #%(num)d of year from %(begin)s to %(end)s")
             % {
                 'num': nb_curent + 1,
                 'begin': get_value_converted(year.begin),
                 'end': get_value_converted(year.end)
             },
             status=0)
         for category in Set.objects.filter(type_load=0, is_active=True):
             CallDetail.objects.create(
                 set=category,
                 type_call=0,
                 callfunds=new_call,
                 price=category.get_new_current_callfunds(),
                 designation=_("%(type)s - #%(num)d") % {
                     'type': _('current'),
                     'num': nb_curent + 1
                 })
     else:
         return nb_curent < nb_seq
示例#9
0
 def get_json_value(self):
     compjson = []
     for key in self.record_ids:
         record = self.records[key]
         json_record = {}
         json_record['id'] = key
         for header in self.headers:
             json_record[header.name] = six.text_type(
                 get_value_converted(record[header.name],
                                     convert_datetime=False))
         for rec_name in record.keys():
             if rec_name.startswith('__') and (rec_name
                                               not in self.headers):
                 json_record[rec_name] = record[rec_name]
         compjson.append(json_record)
     return compjson
示例#10
0
 def get_reading_comp(self, field_name):
     sub_value = self.item
     for fieldname in field_name.split('.'):
         if sub_value is not None:
             sub_value = getattr(sub_value, fieldname)
     value = get_value_converted(sub_value, True)
     dep_field = self.item.get_field_by_name(
         field_name)
     if isinstance(dep_field, EmailField):
         comp = XferCompLinkLabel(field_name)
         comp.set_link('mailto:' + value)
     else:
         comp = XferCompLabelForm(field_name)
     value = get_value_if_choices(value, dep_field)
     comp.set_value(value)
     return comp
示例#11
0
 def get_reading_comp(self, field_name):
     sub_value = self.item
     for fieldname in field_name.split('.'):
         if sub_value is not None:
             try:
                 sub_value = getattr(sub_value, fieldname)
             except ObjectDoesNotExist:
                 getLogger("lucterios.core").exception(
                     "fieldname '%s' not found", fieldname)
                 sub_value = None
     value = get_value_converted(sub_value, True)
     dep_field = self.item.get_field_by_name(field_name)
     if isinstance(dep_field, EmailField):
         comp = XferCompLinkLabel(field_name)
         comp.set_link('mailto:' + value)
     else:
         comp = XferCompLabelForm(field_name)
     value = get_value_if_choices(value, dep_field)
     comp.set_value(value)
     return comp
示例#12
0
 def get_reading_comp(self, field_name):
     sub_value = self.item
     for fieldname in field_name.split('.'):
         if sub_value is not None:
             try:
                 sub_value = getattr(sub_value, fieldname)
             except ObjectDoesNotExist:
                 getLogger("lucterios.core").exception("fieldname '%s' not found", fieldname)
                 sub_value = None
     value = get_value_converted(sub_value, True)
     dep_field = self.item.get_field_by_name(
         field_name)
     if isinstance(dep_field, EmailField):
         comp = XferCompLinkLabel(field_name)
         comp.set_link('mailto:' + value)
     else:
         comp = XferCompLabelForm(field_name)
     value = get_value_if_choices(value, dep_field)
     comp.set_value(value)
     return comp
示例#13
0
文件: models.py 项目: Diacamma2/asso
 def documents(self):
     value = ""
     for doc in self.current_subscription.docadherent_set.all():
         if doc.value:
             color = "green"
         else:
             color = "red"
         value += "%s: {[font color='%s']}%s{[/font]}{[br/]}" % (six.text_type(doc.document), color, get_value_converted(doc.value, True))
     return value
示例#14
0
 def __str__(self):
     return "%s %s" % (self.reference, get_value_converted(self.date))
示例#15
0
文件: models.py 项目: Diacamma2/asso
 def date_txt(self):
     if self.event_type == 0:
         return get_value_converted(self.date)
     else:
         return "%s -> %s" % (get_value_converted(self.date), get_value_converted(self.date_end))
示例#16
0
 def init_label(self):
     self.value = get_value_converted(self.value, True)
     self.size_x, self.height = calcul_text_size(self.value)
     self.height = self.height * 1.1