def add_modes(self, new_modes): """ Add new modes modes are not relationships so we don't need to keep them """ for mode in new_modes: new_mode_obj = ActivityMode(label=mode) self.dbsession.add(new_mode_obj)
def delete_modes(self, appstruct): """ Delete modes that are no longer used Return modes that have to be added """ all_modes = self.get_submitted_modes(appstruct) for element in ActivityMode.query(): if element.label not in all_modes: self.dbsession.delete(element) else: # Remove it from the submitted list so we don't insert it again all_modes.remove(element.label) return all_modes
def before(self, form): query = ActivityType.query() types = query.filter_by(active=True) modes = ActivityMode.query() query = ActivityAction.query() query = query.filter_by(parent_id=None) actions = query.filter_by(active=True) activity_appstruct = { 'footer': self.request.config.get("activity_footer", ""), 'types': [type_.appstruct() for type_ in types], 'modes': [mode.appstruct() for mode in modes], 'actions': self._recursive_action_appstruct(actions) } self._add_pdf_img_to_appstruct('activity', activity_appstruct) form.set_appstruct(activity_appstruct)
def before(self, form): """ Add appstruct to the current form object """ query = ActivityType.query() types = query.filter(ActivityType.active==True) modes = ActivityMode.query() query = ActivityAction.query() query = query.filter(ActivityAction.parent_id==None) actions = query.filter(ActivityAction.active==True) appstruct = { 'main': {}, 'types': [type_.appstruct() for type_ in types], 'modes': [mode.appstruct() for mode in modes], 'actions': [ { 'id': act.id, 'label': act.label, 'children': [child.appstruct() for child in act.children], } for act in actions] } accompagnement_file = ConfigFiles.get('accompagnement_header.png') if accompagnement_file is not None: appstruct['main']['header'] = { 'uid': accompagnement_file.id, 'filename': accompagnement_file.name, 'preview_url': self.request.route_url( 'public', name='accompagnement_header.png', ) } form.set_appstruct(appstruct) populate_actionmenu(self.request)
def get_activity_modes(): return [mode.label for mode in ActivityMode.query()]
def add_activity_mode(label): session = DBSESSION() session.add(ActivityMode(label=label)) session.flush()