Ejemplo n.º 1
0
    def update_grid(self, grid):
        """Add edit and delete buttons to ``Grid``"""
        try:
            grid.edit
        except AttributeError:

            def edit_link():
                return lambda item: '''
                <form action="%(url)s" method="GET" class="ui-grid-icon ui-widget-header ui-corner-all">
                <input type="submit" class="ui-grid-icon ui-icon ui-icon-pencil" title="%(label)s" value="%(label)s" />
                </form>
                ''' % dict(url=self.request.fa_url(self.request.model_name,
                                                   _pk(item), 'edit'),
                           label=get_translator(request=self.request)('edit'))

            def delete_link():
                return lambda item: '''
                <form action="%(url)s" method="POST" class="ui-grid-icon ui-state-error ui-corner-all">
                <input type="submit" class="ui-icon ui-icon-circle-close" title="%(label)s" value="%(label)s" />
                </form>
                ''' % dict(url=self.request.fa_url(self.request.model_name,
                                                   _pk(item), 'delete'),
                           label=get_translator(request=self.request)
                           ('delete'))

            grid.append(Field('edit', fatypes.String, edit_link()))
            grid.append(Field('delete', fatypes.String, delete_link()))
            grid.readonly = True
Ejemplo n.º 2
0
    def __init__(self):

        # Grid initialization
        super(EditSessionsGrid, self).__init__(Session, Session.all())

        # Creation of a customized date field to view the session's date
        self.append(create_date_field("formatted_atime", "atime", DT_FORMAT))

        # Creation of a customized field to view the session's data
        self.append(
            Field(name="formatted_data",
                  value=lambda model: "{%s}" % ",".join([
                      "%s:%s" % (k, v) for k, v in config.session_manager.
                      session_handler.store.decode(model.data).items()
                      if k != "session_id"
                  ])))

        # Grid configuration
        inc = [
            FORMATTED_ATIME_READONLY(self.formatted_atime),
            FORMATTED_DATA_READONLY(self.formatted_data),
            SESSION_ID_READONLY(self.session_id)
        ]

        self.configure(include=inc)
Ejemplo n.º 3
0
    def __init__(self):

        # Grid initialization
        super(EditPollsGrid, self).__init__(
            Poll, Poll.all(joined_attrs=["choices"]))  #@UndefinedVariable

        # Creation of customized date fields to edit the poll dates
        self.append(
            create_date_field("formatted_start_dt",
                              "start_dt",
                              DT_FORMAT,
                              today_by_default=True))
        self.append(
            create_date_field("formatted_end_dt",
                              "end_dt",
                              DT_FORMAT,
                              today_by_default=False))
        self.append(
            Field(name="formatted_possible_dates",
                  value=lambda model: "[%s]" % ",".join([
                      formatting.format_date(dt, DT_FORMAT)
                      for dt in model.possible_dates
                  ])))

        # Grid configuration
        inc = [
            TITLE(self.title),
            FORMATTED_START_DT(self.formatted_start_dt),
            FORMATTED_END_DT(self.formatted_end_dt),
            FORMATTED_POSSIBLE_DATES_READONLY(self.formatted_possible_dates)
        ]
        self.configure(include=inc)
Ejemplo n.º 4
0
    def __init__(self, password_token=None):

        # FieldSet initialization
        super(NewPasswordFieldSet, self).__init__(User)
        self.password_token = password_token

        # FieldSet configuration
        self.append(Field("new_password"))
        self.append(Field("new_password_confirm"))

        inc = [
            NEW_PASSWORD(self.new_password),
            NEW_PASSWORD_CONFIRM(self.new_password_confirm)
        ]
        
        self.configure(include=inc)
Ejemplo n.º 5
0
    def __init__(self):
        
        # FieldSet initialization
        super(EditPasswordFieldSet, self).__init__(User)

        # FieldSet configuration
        self.append(Field("old_password"))
        self.append(Field("new_password"))
        self.append(Field("new_password_confirm"))
        
        inc = [
            OLD_PASSWORD(self.old_password),
            NEW_PASSWORD(self.new_password),
            NEW_PASSWORD_CONFIRM(self.new_password_confirm)
        ]
        
        self.configure(include=inc)
Ejemplo n.º 6
0
def create_generic_date_field(name,
                              attr_getter,
                              dt_format,
                              today_by_default=True):
    """ Instanciates a generic date field associated with the format passed as a parameter """
    def value(model):
        """ Returns the model date or today's date """
        default_date = datetime.date.today() if today_by_default else None
        dt = model and attr_getter(model) or default_date
        return dt and formatting.format_date(dt, dt_format)

    return Field(name=name, value=value)
Ejemplo n.º 7
0
    def __init__(self, user_token):

        # FieldSet initialization
        super(NewUserFieldSet, self).__init__(User)
        self.user_token = user_token

        # FieldSet configuration
        self.append(Field("new_email", value=user_token.email))
        self.append(Field("new_password"))
        self.append(Field("new_password_confirm"))

        inc = [
            EMAIL_REQUIRED(self.new_email),
            FIRST_NAME(self.first_name),
            LAST_NAME(self.last_name),
            PSEUDONYM(self.pseudonym),
            NEW_PASSWORD(self.new_password),
            NEW_PASSWORD_CONFIRM(self.new_password_confirm)
        ]
        
        self.configure(include=inc)
Ejemplo n.º 8
0
    def __init__(self):
        
        super(EditResultsGrid, self).__init__(Result)
        
        STATUS_OPTIONS = [(u"Présent", Result.STATUSES.P), (u"Absent", Result.STATUSES.A), (u"Peut-être", Result.STATUSES.M)]
        RANK_OPTIONS = [(u"", None)] + [(formatting.append(i, formatting.to_rank), i) for i in range(1, len(User.all()))]

        self.append(Field("pseudonym", value=lambda result: result.user.pseudonym))
        
        inc = [
            self.pseudonym.label(u"Joueur").readonly(),
            self.status.label(u"Statut").dropdown(options=STATUS_OPTIONS),
            self.buyin.label(u"Mise").validate(custom_validators.required_for([Result.STATUSES.P])).validate(custom_validators.forbidden_for([Result.STATUSES.M, Result.STATUSES.A])),
            self.rank.label(u"Classement").dropdown(options=RANK_OPTIONS).validate(custom_validators.forbidden_for([Result.STATUSES.M, Result.STATUSES.A])),
            self.profit.label(u"Gain").validate(custom_validators.forbidden_for([Result.STATUSES.M, Result.STATUSES.A])),
        ]
        
        self.configure(include=inc)