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
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))
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
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
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
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
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()
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
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
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)
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'))
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)
def event_type_txt(self): return get_value_if_choices(self.event_type, self._meta.get_field('event_type'))
def type_bill(self): return get_value_if_choices(self.bill_type, self.get_field_by_name("bill_type")).upper()
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))