def list(self, **kw): """List records in model""" records = Bidder.select() grid = PaginateDataGrid(fields=[('Bidder Id', 'Bidder_id'), ('Bidder Name', 'Bidder_name'),('Show',show_link),('Edit',edit_link),('Delete',destroy_link)]) return dict(records = records, modelname=self.modelname, grid=grid, now=datetime.today().strftime("%A, %d %b %Y"))
def update(self, id=None, **kw): """Save or create record to model""" #update kw log.info('kw: ' + str(kw)) log.info('kw: ' + str(kw)) log.info('kw: ' + str(kw)) log.info('kw: ' + str(kw)) log.info('kw: ' + str(kw)) try: if isinstance(kw['Bidder_groups'],list): groups = Group.select(Group.c.group_id.in_(*kw['Bidder_groups'])) else: groups = Group.select(Group.c.group_id.in_(kw['Bidder_groups'])) except: groups = [] #create if not id: kw['groups']=groups Bidder(**kw) flash("Bidder was successfully created.") raise redirect("list") #update else: record = Bidder.get_by(Bidder_id=int(id)) for attr in kw: if attr == 'password': setattr(record, attr, identity.encrypt_password(kw[attr])) else: setattr(record, attr, kw[attr]) record.groups = groups log.info("Saved update on Bidder " + record.Bidder_name + str(kw)) flash("Bidder was successfully updated.") raise redirect("../list")
def edit(self, id, **kw): """Edit record in model""" try: record = Bidder.get(int(id)) group_defaults=[entry.group_id for entry in record.groups] except: flash = "Not valid edit" log.info("Bidder_name: "+str(record.Bidder_name)) log.info("group_defaults: "+str(group_defaults)) return dict(modelname = self.modelname, record = record, value=dict(Bidder_name = record.Bidder_name,status=record.status,Bidder_groups = group_defaults, display_name=record.display_name, password='******', password_confirm='password'), #options=dict(Bidder_groups=[(entry.group_id, entry.group_name) for entry in Group.select()]), form = model_edit_form, now= datetime.today().strftime("%A, %d %b %Y"))
def destroy(self, id): """Destroy record in model""" record = Bidder.get(int(id)) session.delete(record) flash("Bidder was successfully destroyed.") raise redirect("../list")
def show(self,id, **kw): """Show record in model""" record = Bidder.get(int(id)) return dict(record = record, now= datetime.today().strftime("%A, %d %b %Y"))