def create_dlg(self, username, legalentity): dlg = self.create_custom(self.model) img = XferCompImage('img') img.set_value(self.icon_path()) img.set_location(0, 0, 1, 6) dlg.add_component(img) dlg.fill_from_model(1, 0, False, ['genre', 'lastname', 'firstname', 'email']) dlg.get_components( 'email' ).mask = '^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-_])+\.)+([a-zA-Z0-9]{2,4})+$' row = dlg.get_max_row() + 1 lbl = XferCompLabelForm("username_lbl") lbl.set_location(1, row) lbl.set_value_as_name(_('username')) dlg.add_component(lbl) edt = XferCompEdit("username") edt.set_location(2, row) edt.set_needed(True) edt.set_value(username) dlg.add_component(edt) if Params.getvalue("contacts-createaccount") == 2: row = dlg.get_max_row() + 1 lbl = XferCompLabelForm("legalentity_lbl") lbl.set_location(1, row) lbl.set_value_as_name(_("your structure name")) dlg.add_component(lbl) edt = XferCompEdit("legalentity") edt.set_location(2, row) edt.set_needed(True) edt.set_value(legalentity) dlg.add_component(edt) row = dlg.get_max_row() + 1 lbl = XferCompLabelForm("captcha_lbl") lbl.set_location(1, row) lbl.set_value_as_name(_("captcha")) dlg.add_component(lbl) edt = XferCompCaptcha("captcha") edt.set_location(2, row) dlg.add_component(edt) lbl = XferCompLabelForm("error_lbl") lbl.set_location(2, row + 1) lbl.set_color('red') lbl.set_value(self.getparam('error', '')) dlg.add_component(lbl) dlg.add_action(self.get_action(_('Ok'), 'images/ok.png'), params={"SAVE": "YES"}) dlg.add_action(WrapAction(_('Cancel'), 'images/cancel.png'))
def get_writing_comp(self, field_name): from django.db.models.fields import IntegerField, DecimalField, BooleanField, TextField, DateField, TimeField, DateTimeField, CharField from django.db.models.fields.related import ForeignKey, ManyToManyField comp = None dep_field = self.item.get_field_by_name(field_name) for field_type in (IntegerField, DecimalField, BooleanField, TextField, DateField, TimeField, DateTimeField, ForeignKey, ManyToManyField): if isinstance(dep_field, field_type): fct = getattr(self, "_create_comp_%s" % field_type.__name__.lower(), None) if fct is not None: comp = fct(field_name, dep_field) break if comp is None: comp = XferCompEdit(field_name) comp.set_value( self._get_value_from_field(field_name, dep_field, "")) if isinstance(dep_field, CharField): comp.size = dep_field.max_length comp.set_needed(dep_field.unique or not (dep_field.blank or dep_field.null)) return comp
def create_dlg(self, username, legalentity): dlg = self.create_custom(self.model) img = XferCompImage('img') img.set_value(self.icon_path()) img.set_location(0, 0, 1, 6) dlg.add_component(img) dlg.fill_from_model(1, 0, False, ['genre', 'lastname', 'firstname', 'email']) dlg.get_components('email').mask = '^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-_])+\.)+([a-zA-Z0-9]{2,4})+$' row = dlg.get_max_row() + 1 edt = XferCompEdit("username") edt.set_location(1, row) edt.set_needed(True) edt.set_value(username) edt.description = _('username') dlg.add_component(edt) if Params.getvalue("contacts-createaccount") == 2: row = dlg.get_max_row() + 1 edt = XferCompEdit("legalentity") edt.set_location(1, row) edt.set_needed(True) edt.set_value(legalentity) edt.description = _("your structure name") dlg.add_component(edt) row = dlg.get_max_row() + 1 edt = XferCompCaptcha("captcha") edt.set_location(1, row) edt.description = _("captcha") dlg.add_component(edt) lbl = XferCompLabelForm("error_lbl") lbl.set_location(1, row + 1, 2) lbl.set_color('red') lbl.set_value(self.getparam('error', '')) dlg.add_component(lbl) dlg.add_action(self.get_action(_('Ok'), 'images/ok.png'), params={"SAVE": "YES"}) dlg.add_action(WrapAction(_('Cancel'), 'images/cancel.png'))