def submit_success(self, appstruct): """ Insert config informations into database """ # la table config étant un stockage clé valeur # le merge_session_with_post ne peut être utilisé dbdatas = Config.query().all() log.debug(u"Cae configuration submission") log.debug(appstruct) new_dbdatas = merge_config_datas(dbdatas, appstruct) for dbdata in new_dbdatas: log.debug(dbdata.name) if dbdata in dbdatas: self.dbsession.merge(dbdata) else: self.dbsession.add(dbdata) # If we set the contribution_cae value, we want it to be the default # for every company that has no contribution value set if dbdata.name == 'contribution_cae': for comp in Company.query(): if comp.contribution is None: comp.contribution = dbdata.value self.dbsession.merge(comp) self.dbsession.flush() self.request.session.flash(self.validation_msg) return HTTPFound(self.request.route_path("admin_cae"))
def submit_success(self, appstruct): """ Insert config informations into database """ # la table config étant un stockage clé valeur # le merge_session_with_post ne peut être utilisé logo = appstruct['site'].pop('logo', None) if logo: ConfigFiles.set('logo.png', logo) self.request.session.pop('substanced.tempstore') self.request.session.changed() dbdatas = self.dbsession.query(Config).all() appstruct = get_config_dbdatas(appstruct) dbdatas = merge_config_datas(dbdatas, appstruct) for dbdata in dbdatas: self.dbsession.merge(dbdata) self.dbsession.flush() self.request.session.flash(self.validation_msg) return HTTPFound(self.request.route_path("admin_main"))