Esempio n. 1
0
    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")