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
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)
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)
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)
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)
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)
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)
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)