Exemple #1
0
 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)
Exemple #2
0
 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)
Exemple #3
0
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
Exemple #4
0
 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)
Exemple #5
0
 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)
Exemple #6
0
 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)
Exemple #7
0
 def on_analyze(cls, lino):
     cls.DISABLED_AUTO_FIELDS = dd.fields_list(cls, "summary")
     super(Event, cls).on_analyze(lino)
Exemple #8
0
 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)
Exemple #9
0
        """
        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'
)
Exemple #10
0
 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)
Exemple #11
0
 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)
Exemple #12
0
            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 *'
Exemple #13
0
 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)
Exemple #14
0
 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)
Exemple #15
0
            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 = (
Exemple #16
0
            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 "
Exemple #17
0
# 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)
Exemple #18
0
 def on_analyze(cls, lino):
     cls.DISABLED_AUTO_FIELDS = dd.fields_list(cls, "summary")
     super(Event, cls).on_analyze(lino)
Exemple #19
0
                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
Exemple #20
0
                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
Exemple #21
0
            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 *'