Пример #1
0
    def get_pupitres_str(self, prefix=True, tags=False, solistes=False):
        if not self.pk:
            return ''
        pupitres = self.pupitres.all()
        if solistes:
            pupitres = [p for p in pupitres if p.soliste]

        if not pupitres:
            return ''
        if not prefix:
            return str_list_w_last([p.html(tags=tags) for p in pupitres])

        pupitres_roles = str_list_w_last([
            p.html(tags=tags) for p in pupitres if p.partie.type == Partie.ROLE
        ])
        pupitres_instruments = str_list_w_last([
            p.html(tags=tags) for p in pupitres
            if p.partie.type == Partie.INSTRUMENT
        ])

        if pupitres_roles:
            out = ugettext('de ') + pupitres_roles
            if pupitres_instruments:
                out += ugettext(' avec ') + pupitres_instruments
            return out
        return ugettext('pour ') + pupitres_instruments
Пример #2
0
    def get_pupitres_str(self, prefix=True, tags=False, solistes=False):
        if not self.pk:
            return ''
        pupitres = self.pupitres.all()
        if solistes:
            pupitres = [p for p in pupitres if p.soliste]

        if not pupitres:
            return ''
        if not prefix:
            return str_list_w_last([p.html(tags=tags) for p in pupitres])

        pupitres_roles = str_list_w_last([
            p.html(tags=tags) for p in pupitres
            if p.partie.type == Partie.ROLE])
        pupitres_instruments = str_list_w_last([
            p.html(tags=tags) for p in pupitres
            if p.partie.type == Partie.INSTRUMENT])

        if pupitres_roles:
            out = ugettext('de ') + pupitres_roles
            if pupitres_instruments:
                out += ugettext(' avec ') + pupitres_instruments
            return out
        return ugettext('pour ') + pupitres_instruments
Пример #3
0
    def clean(self):
        data = super(ConstrainedModelForm, self).clean()

        for required_fieldnames, fieldnames in self.REQUIRED_BY:
            for required_fieldname in required_fieldnames:
                verbose_required = self.get_field_verbose(required_fieldname)
                for fieldname in fieldnames:
                    verbose = self.get_field_verbose(fieldname)
                    if data.get(
                            fieldname) and not data.get(required_fieldname):
                        msg = _('« %(field)s » ne peut être saisi '
                                'sans « %(required)s ».') % {
                                    'field': verbose,
                                    'required': verbose_required
                                }
                        for k in (fieldname, required_fieldname):
                            self.add_error(k, msg)

        for fieldnames in self.INCOMPATIBLES:
            if all(data.get(fieldname) for fieldname in fieldnames):
                for fieldname in fieldnames:
                    verbose = self.get_field_verbose(fieldname)
                    other_fields = [
                        _('« %s »') % self.get_field_verbose(k)
                        for k in fieldnames if k != fieldname
                    ]
                    msg = _('« %(field)s » ne peut être saisi '
                            'avec %(other_fields)s.') % {
                                'field': verbose,
                                'other_fields': str_list_w_last(other_fields)
                            }
                    self.add_error(fieldname, msg)

        return data
Пример #4
0
    def clean(self):
        data = super(ConstrainedModelForm, self).clean()

        for required_fieldnames, fieldnames in self.REQUIRED_BY:
            for required_fieldname in required_fieldnames:
                verbose_required = self.get_field_verbose(required_fieldname)
                for fieldname in fieldnames:
                    verbose = self.get_field_verbose(fieldname)
                    if data.get(fieldname) and not data.get(required_fieldname):
                        msg = _('« %(field)s » ne peut être saisi '
                                'sans « %(required)s ».') % {
                            'field': verbose,
                            'required': verbose_required}
                        for k in (fieldname, required_fieldname):
                            self.add_error(k, msg)

        for fieldnames in self.INCOMPATIBLES:
            if all(data.get(fieldname) for fieldname in fieldnames):
                for fieldname in fieldnames:
                    verbose = self.get_field_verbose(fieldname)
                    other_fields = [_('« %s »') % self.get_field_verbose(k)
                                    for k in fieldnames if k != fieldname]
                    msg = _('« %(field)s » ne peut être saisi '
                            'avec %(other_fields)s.') % {
                        'field': verbose,
                        'other_fields': str_list_w_last(other_fields)}
                    self.add_error(fieldname, msg)

        return data
Пример #5
0
 def ensembles_html(self):
     return str_list_w_last([e.html() for e in self.ensembles.all()])
Пример #6
0
 def auteurs_html(self):
     return str_list_w_last([a.html() for a in self.auteurs.all()])
Пример #7
0
 def oeuvres_html(self):
     return str_list_w_last([o.titre_html() for o in self.oeuvres.all()])
Пример #8
0
 def lieux_html(self):
     return str_list_w_last([l.html() for l in self.lieux.all()])
Пример #9
0
 def calc_professions(self, tags=True):
     if not self.pk:
         return ''
     return str_list_w_last(
         p.html(feminin=self.is_feminin(), tags=tags, caps=i == 0)
         for i, p in enumerate(self.professions.all()))
Пример #10
0
 def html(self, *args, **kwargs):
     return str_list_w_last([o.html(*args, **kwargs) for o in self])
Пример #11
0
 def html(self, tags=True):
     return str_list_w_last([u.html(tags=tags) for u in self])
Пример #12
0
 def html(self, *args, **kwargs):
     return str_list_w_last([o.html(*args, **kwargs) for o in self])