示例#1
0
 def show(self, xfer):
     if xfer.item.cost_accounting is None:
         xfer.remove_component("cost_accounting")
         xfer.remove_component("lbl_cost_accounting")
     xfer.params['new_account'] = Params.getvalue('invoice-account-third')
     xfer.move(0, 0, 1)
     lbl = XferCompLabelForm('title')
     lbl.set_location(1, 0, 4)
     lbl.set_value_as_title(get_value_if_choices(
         self.item.bill_type, self.item.get_field_by_name('bill_type')))
     xfer.add_component(lbl)
     details = xfer.get_components('detail')
     if Params.getvalue("invoice-vat-mode") != 0:
         if Params.getvalue("invoice-vat-mode") == 1:
             details.headers[2] = XferCompHeader(details.headers[2].name, _(
                 'price excl. taxes'), details.headers[2].type, details.headers[2].orderable)
             details.headers[6] = XferCompHeader(details.headers[6].name, _(
                 'total excl. taxes'), details.headers[6].type, details.headers[6].orderable)
         elif Params.getvalue("invoice-vat-mode") == 2:
             details.headers[2] = XferCompHeader(details.headers[2].name, _(
                 'price incl. taxes'), details.headers[2].type, details.headers[2].orderable)
             details.headers[6] = XferCompHeader(details.headers[6].name, _(
                 'total incl. taxes'), details.headers[6].type, details.headers[6].orderable)
         xfer.get_components('lbl_total_excltax').set_value_as_name(
             _('total excl. taxes'))
         xfer.filltab_from_model(1, xfer.get_max_row() + 1, True,
                                 [((_('VTA sum'), 'vta_sum'), (_('total incl. taxes'), 'total_incltax'))])
     if self.item.status == 0:
         SupportingEditor.show_third(self, xfer, 'invoice.add_bill')
     else:
         SupportingEditor.show_third_ex(self, xfer)
         details.actions = []
         if self.item.bill_type != 0:
             SupportingEditor.show(self, xfer)
     return
示例#2
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))
示例#3
0
 def edit(self, xfer):
     xfer.change_to_readonly('type_of_account')
     code_ed = xfer.get_components('code')
     code_ed.mask = current_system_account().get_general_mask()
     code_ed.set_action(xfer.request, xfer.get_action(), modal=FORMTYPE_REFRESH, close=CLOSE_NO)
     descript, typeaccount = current_system_account().new_charts_account(self.item.code)
     error_msg = ''
     if typeaccount < 0:
         if typeaccount == -2:
             error_msg = _("Invalid code")
         if self.item.code != '':
             code_ed.set_value(self.item.code + '!')
         if self.item.id is None:
             xfer.get_components('type_of_account').set_value('---')
     elif self.item.id is None:
         field_type = self.item.get_field_by_name('type_of_account')
         xfer.get_components('type_of_account').set_value(
             get_value_if_choices(typeaccount, field_type))
         xfer.get_components('name').set_value(descript)
         xfer.params['type_of_account'] = typeaccount
     elif typeaccount != self.item.type_of_account:
         error_msg = _("Changment not allowed!")
         code_ed.set_value(self.item.code + '!')
     lbl = XferCompLabelForm('error_code')
     lbl.set_location(1, xfer.get_max_row() + 1, 2)
     lbl.set_value_center("{[font color='red']}%s{[/font]}" % error_msg)
     xfer.add_component(lbl)
     return
示例#4
0
 def chech_validity(self):
     msg = ''
     if self.status > 0:
         msg = _('%s validated!') % get_value_if_choices(
             self.event_type, self._meta.get_field('event_type'))
     elif len(self.organizer_set.filter(isresponsible=True)) == 0:
         msg = _('no responsible!')
     elif len(self.participant_set.all()) == 0:
         msg = _('no participant!')
     return msg
示例#5
0
文件: models.py 项目: Diacamma2/asso
 def chech_validity(self):
     msg = ''
     if self.status > 0:
         msg = _('%s validated!') % get_value_if_choices(
             self.event_type, self._meta.get_field('event_type'))
     elif len(self.organizer_set.filter(isresponsible=True)) == 0:
         msg = _('no responsible!')
     elif len(self.participant_set.all()) == 0:
         msg = _('no participant!')
     return msg
示例#6
0
def get_html_payment(absolute_uri, lang, supporting):
    html_message = "<hr/>"
    html_message += "<center><i><u>%s</u></i></center>" % _("Payement methods")
    html_message += "<table width='90%'>"
    for paymeth in PaymentMethod.objects.all():
        html_message += "<tr>"
        html_message += "<td><b>%s</b></td>" % get_value_if_choices(paymeth.paytype, paymeth.get_field_by_name('paytype'))
        html_message += "<td>%s</td>" % paymeth.show_pay(absolute_uri, lang, supporting).replace('{[', '<').replace(']}', '>')
        html_message += "</tr>"
        html_message += "<tr></tr>"
    html_message += "</table>"
    return html_message
示例#7
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
示例#8
0
 def kind_txt(self):
     dep_field = self.get_field_by_name('kind')
     args = self.get_args()
     params_txt = ""
     if self.kind == 0:
         if args['multi']:
             params_txt = "(%s)" % _('multi-line')
     elif self.kind == 1:
         params_txt = "[%d;%d]" % (int(args['min']), int(args['max']))
     elif self.kind == 2:
         prec = ".%df" % int(args['prec'])
         floatformat = "[%" + prec + ";%" + prec + "]"
         params_txt = floatformat % (float(args['min']), float(args['max']))
     elif self.kind == 4:
         params_txt = "(%s)" % ",".join(args['list'])
     value = "%s %s" % (get_value_if_choices(self.kind, dep_field), params_txt)
     return value.strip()
示例#9
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
示例#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:
             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
示例#11
0
 def set_model(self, query_set, fieldnames, xfer_custom=None):
     if fieldnames is None:
         fieldnames = query_set.model.get_default_fields()
     self._add_header_from_model(query_set, fieldnames, xfer_custom
                                 is not None)
     self.nb_lines = len(query_set)
     primary_key_fieldname = query_set.model._meta.pk.attname
     record_min, record_max = self.define_page(xfer_custom)
     if self.order_list is not None:
         query_set = query_set.order_by(*self.order_list)
     for value in query_set[record_min:record_max]:
         child = value.get_final_child()
         child.set_context(xfer_custom)
         pk_id = getattr(child, primary_key_fieldname)
         self.set_value(pk_id, '__color_ref__', child.get_color_ref())
         for fieldname in fieldnames:
             if isinstance(fieldname, tuple):
                 _, fieldname = fieldname
             if fieldname[-4:] == '_set':  # field is one-to-many relation
                 resvalue = []
                 sub_items = getattr(child, fieldname).all()
                 for sub_items_value in sub_items:
                     resvalue.append(six.text_type(sub_items_value))
                 resvalue = "{[br/]}".join(resvalue)
             else:
                 resvalue = child
                 for field_name in fieldname.split('.'):
                     if resvalue is not None:
                         try:
                             resvalue = getattr(resvalue, field_name)
                         except ObjectDoesNotExist:
                             getLogger("lucterios.core").exception(
                                 "fieldname '%s' not found", field_name)
                             resvalue = None
                 try:
                     field_desc = query_set.model.get_field_by_name(
                         fieldname)
                     resvalue = get_value_if_choices(resvalue, field_desc)
                 except FieldDoesNotExist:
                     pass
             self.set_value(pk_id, fieldname, resvalue)
示例#12
0
 def fillresponse(self, item_name=''):
     if item_name != '':
         self.item = Supporting.objects.get(id=self.getparam(item_name, 0))
     self.item = self.item.get_final_child()
     payments = PaymentMethod.objects.all()
     if not self.item.payoff_have_payment() or (len(payments) == 0):
         raise LucteriosException(MINOR, _('No payment for this document.'))
     max_row = self.get_max_row() + 1
     img = XferCompImage('img')
     img.set_value(self.icon_path())
     img.set_location(0, 0, 1, 6)
     self.add_component(img)
     self.fill_from_model(1, max_row, True, self.item.get_payment_fields())
     max_row = self.get_max_row() + 1
     lbl = XferCompLabelForm('lb_sep')
     lbl.set_value("{[hr/]}")
     lbl.set_location(1, max_row, 4)
     self.add_component(lbl)
     lbl = XferCompLabelForm('lb_title')
     lbl.set_value_as_infocenter(_("Payement methods"))
     lbl.set_location(1, max_row + 1, 4)
     self.add_component(lbl)
     for paymeth in payments:
         max_row = self.get_max_row() + 1
         lbl = XferCompLabelForm('lb_paymeth_%d' % paymeth.id)
         lbl.set_value_as_name(
             get_value_if_choices(paymeth.paytype, paymeth.get_field_by_name('paytype')))
         lbl.set_location(1, max_row)
         self.add_component(lbl)
         lbl = XferCompLabelForm('paymeth_%d' % paymeth.id)
         lbl.set_value(
             paymeth.show_pay(self.request.META.get('HTTP_REFERER', self.request.build_absolute_uri()), self.language, self.item))
         lbl.set_location(2, max_row, 3)
         self.add_component(lbl)
         lbl = XferCompLabelForm('sep_paymeth_%d' % paymeth.id)
         lbl.set_value("{[br/]}")
         lbl.set_location(2, max_row + 1)
         self.add_component(lbl)
     self.add_action(WrapAction(TITLE_CLOSE, 'images/close.png'))
示例#13
0
 def set_model(self, query_set, fieldnames, xfer_custom=None):
     if fieldnames is None:
         fieldnames = query_set.model.get_default_fields()
     self._add_header_from_model(query_set, fieldnames, xfer_custom is not None)
     self.nb_lines = len(query_set)
     primary_key_fieldname = query_set.model._meta.pk.attname
     record_min, record_max = self.define_page(xfer_custom)
     if self.order_list is not None:
         query_set = query_set.order_by(*self.order_list)
     for value in query_set[record_min:record_max]:
         child = value.get_final_child()
         child.set_context(xfer_custom)
         pk_id = getattr(child, primary_key_fieldname)
         self.set_value(pk_id, '__color_ref__', child.get_color_ref())
         for fieldname in fieldnames:
             if isinstance(fieldname, tuple):
                 _, fieldname = fieldname
             if fieldname[-4:] == '_set':  # field is one-to-many relation
                 resvalue = []
                 sub_items = getattr(child, fieldname).all()
                 for sub_items_value in sub_items:
                     resvalue.append(six.text_type(sub_items_value))
                 resvalue = "{[br/]}".join(resvalue)
             else:
                 resvalue = child
                 for field_name in fieldname.split('.'):
                     if resvalue is not None:
                         try:
                             resvalue = getattr(resvalue, field_name)
                         except ObjectDoesNotExist:
                             getLogger("lucterios.core").exception("fieldname '%s' not found", field_name)
                             resvalue = None
                 try:
                     field_desc = query_set.model.get_field_by_name(fieldname)
                     resvalue = get_value_if_choices(resvalue, field_desc)
                 except FieldDoesNotExist:
                     pass
             self.set_value(pk_id, fieldname, resvalue)
示例#14
0
文件: models.py 项目: Diacamma2/asso
 def event_type_txt(self):
     return get_value_if_choices(self.event_type, self._meta.get_field('event_type'))
示例#15
0
 def type_bill(self):
     return get_value_if_choices(self.bill_type, self.get_field_by_name("bill_type")).upper()
示例#16
0
 def event_type_txt(self):
     return get_value_if_choices(self.event_type,
                                 self._meta.get_field('event_type'))
示例#17
0
 def get_document_filename(self):
     billtype = get_value_if_choices(
         self.bill_type, self.get_field_by_name('bill_type'))
     return "%s_%s_%s" % (billtype, self.num_txt, six.text_type(self.third))