def on_analyze(cls, site): cls.PRINTABLE_FIELDS = dd.fields_list( cls, "project excerpt_type " "body_template_content " "company contact_person language " "user build_method") super(Excerpt, cls).on_analyze(site)
class AnswerRemarks(dd.Table): required_roles = dd.required(PollsUser) model = 'polls.AnswerRemark' detail_layout = dd.DetailLayout(""" remark response question """, window_size=(60, 10)) hidden_elements = dd.fields_list(AnswerRemark, 'response question') stay_in_grid = True
def show_fields(self, model, field_names=None, languages=None): model = dd.resolve_model(model) if field_names is not None: field_names = dd.fields_list(model, field_names) items = [] for f in model._meta.fields: if field_names is None or f.name in field_names: name = f.name ref = model.__module__ + '.' + model.__name__ + '.' + name verbose_name = force_text(f.verbose_name).strip() help_text = force_text(f.help_text).replace('\n', ' ') txt = "**{verbose_name}** (:attr:`{name} <{ref}>`) : " \ "{help_text}".format(**locals()) items.append(txt) return rstgen.ul(items)
def on_analyze(cls, site): cls.WEEKDAY_FIELDS = dd.fields_list( cls, 'monday tuesday wednesday thursday friday saturday sunday') super(RecurrenceSet, cls).on_analyze(site)
def on_analyze(cls, lino): cls.DISABLED_AUTO_FIELDS = dd.fields_list(cls, "summary") super(Event, cls).on_analyze(lino)
def on_analyze(cls, lino): # lino.TASK_AUTO_FIELDS = dd.fields_list(cls, cls.DISABLED_AUTO_FIELDS = dd.fields_list( cls, """start_date start_time summary""") super(Task, cls).on_analyze(lino)
""" diffs = {} for k in self.ADDRESS_FIELDS: ov = getattr(other, k) if ov != getattr(self, k): diffs[k] = ov return diffs def can_sync_from(self, diffs): """Return `True` if the only differences would add data to self""" for k in diffs.keys(): if getattr(self, k): return False return True def sync_from_address(self, other): if other is None: for k in self.ADDRESS_FIELDS: fld = self._meta.get_field(k) setattr(self, k, fld.get_default()) elif other != self: for k in self.ADDRESS_FIELDS: setattr(self, k, getattr(other, k)) AddressLocation.ADDRESS_FIELDS = dd.fields_list( AddressLocation, 'street street_prefix street_no street_box addr1 addr2 zip_code city region country' )
def on_analyze(cls, site): # Contract.user.verbose_name = _("responsible (DSBE)") cls.CERTIFIED_FIELDS = dd.fields_list( cls, cls.get_certifiable_fields()) super(Certifiable, cls).on_analyze(site)
mi.save() watcher.send_update(ar) @dd.displayfield(_("Statements")) def statements(self, ar): if ar is None or not dd.is_installed('b2c'): return '' Account = rt.models.b2c.Account try: b2c = Account.objects.get(iban=self.iban) except Account.DoesNotExist: return '' return ar.obj2html(b2c, fds(b2c.last_transaction)) PRIMARY_FIELDS = dd.fields_list(Account, 'iban bic') class Accounts(dd.Table): required_roles = dd.login_required(SepaStaff) model = 'sepa.Account' class AccountsByPartner(Accounts): """Show the bank account(s) defined for a given partner. To be included to a detail window on partner. """ required_roles = dd.login_required((ContactsUser, SepaUser)) master_key = 'partner' column_names = 'iban bic remark primary *'
def on_analyze(cls, site): # Contract.user.verbose_name = _("responsible (DSBE)") cls.CERTIFIED_FIELDS = dd.fields_list(cls, cls.get_certifiable_fields()) super(Certifiable, cls).on_analyze(site)
return if self.primary: for o in mi.addresses_by_partner.exclude(id=self.id): if o.primary: o.primary = False o.save() ar.set_response(refresh_all=True) mi.sync_primary_address(ar.request) def living_at_text(self): lines = list(self.address_location_lines()) return self.address_type.living_text + ' ' + ', '.join(lines) Address.ADDRESS_FIELDS = dd.fields_list( Address, 'street street_no street_box addr1 addr2 zip_code city region country') @dd.receiver(dd.pre_ui_delete, sender=Address) def clear_partner_on_delete(sender=None, request=None, **kw): self = sender mi = self.partner if mi: mi.sync_primary_address(request) class Addresses(dd.Table): model = 'addresses.Address' required_roles = dd.required(dd.SiteStaff) column_names = (
return if self.primary: for o in mi.addresses_by_partner.exclude(id=self.id): if o.primary: o.primary = False o.save() ar.set_response(refresh_all=True) mi.sync_primary_address(ar.request) def living_at_text(self): lines = list(self.address_location_lines()) return self.address_type.living_text + ' ' + ', '.join(lines) Address.ADDRESS_FIELDS = dd.fields_list( Address, 'street street_no street_box addr1 addr2 zip_code city region country') @dd.receiver(dd.pre_ui_delete, sender=Address) def clear_partner_on_delete(sender=None, request=None, **kw): self = sender mi = self.partner if mi: mi.sync_primary_address(request) class Addresses(dd.Table): model = 'addresses.Address' required_roles = dd.required(dd.SiteStaff) column_names = ("partner address_type:10 remark:10 "
# cv.ExperiencesByPerson.column_names = "company start_date end_date \ # function regime status is_training country remarks *" # cv.StudiesByPerson.column_names = "type content start_date end_date \ # school country success language remarks *" ContactsByClient.column_names = 'company contact_person remark' dd.update_field(ClientContact, 'remark', verbose_name=_("Contact details")) aids = dd.resolve_app('aids') aids.GrantingsByClient.column_names = "description_column request_date "\ "aid_type category start_date" notes = dd.resolve_app('notes') notes.Note.hidden_elements = dd.fields_list( notes.Note, 'company contact_person contact_role') @dd.receiver(dd.on_ui_updated, sender=notes.Note) def myhandler(sender=None, watcher=None, request=None, **kwargs): obj = watcher.watched if obj.project is None: return recipients = [] period = (dd.today(), dd.today()) for c in obj.project.get_coachings(period, user__email__gt=''): if c.user != request.user: recipients.append(c.user.email) if len(recipients) == 0: return context = dict(obj=obj, request=request)
yield ln for ln in self.household.address_location_lines(): yield ln else: for ln in self.address_location_lines(): yield ln @dd.action(help_text=_("Make this the primary household.")) def set_primary(self, ar): self.primary = True self.full_clean() self.save() self.after_ui_save(ar, None) ar.success(refresh=True) person_fields = dd.fields_list( Member, 'first_name last_name gender birth_date') class Members(dd.Table): model = 'households.Member' required_roles = dd.required(ContactsStaff) order_by = ['start_date', 'end_date'] class MembersByHousehold(Members): required_roles = dd.required(ContactsUser) label = _("Household Members") master_key = 'household' column_names = "age:10 role dependency person \ first_name last_name birth_date gender *" order_by = ['birth_date'] auto_fit_column_widths = True
yield ln for ln in self.household.address_location_lines(): yield ln else: for ln in self.address_location_lines(): yield ln @dd.action(help_text=_("Make this the primary household.")) def set_primary(self, ar): self.primary = True self.full_clean() self.save() self.after_ui_save(ar, None) ar.success(refresh=True) person_fields = dd.fields_list( Member, 'first_name last_name gender birth_date') class Members(dd.Table): model = 'households.Member' required_roles = dd.login_required(ContactsStaff) order_by = ['start_date', 'end_date'] class MembersByHousehold(Members): required_roles = dd.login_required(ContactsUser) label = _("Household Members") master_key = 'household' column_names = "age:10 role dependency person \ first_name last_name birth_date gender *" order_by = ['birth_date'] auto_fit_column_widths = True
mi.save() watcher.send_update(ar.request) @dd.displayfield(_("Statements")) def statements(self, ar): if ar is None or not dd.is_installed('b2c'): return '' Account = rt.modules.b2c.Account try: b2c = Account.objects.get(iban=self.iban) except Account.DoesNotExist: return '' return ar.obj2html(b2c, fds(b2c.last_transaction)) PRIMARY_FIELDS = dd.fields_list(Account, 'iban bic') class Accounts(dd.Table): required_roles = dd.login_required(SepaStaff) model = 'sepa.Account' class AccountsByPartner(Accounts): """Show the bank account(s) defined for a given partner. To be included to a detail window on partner. """ required_roles = dd.login_required((ContactsUser, SepaUser)) master_key = 'partner' column_names = 'iban bic remark primary *'