def add_columns(self, columns, delete_before=False): if delete_before: for column in self.__columns: db_session.delete(column) for column in columns: db_session.add(column) db_session.commit()
def add_columns(self, columns, delete_before = False): if delete_before: for column in self.__columns: db_session.delete(column) for column in columns: db_session.add(column) db_session.commit()
def add_sorters(self, sorters, delete_before = False): if delete_before: for sorter in self.__sorters: db_session.delete(sorter) for sorter in sorters: if sorter.column: db_session.add(sorter) db_session.commit()
def add_groupers(self, groupers, delete_before = False): if delete_before: for grouper in self.__groupers: db_session.delete(grouper) for grouper in groupers: if grouper.column: db_session.add(grouper) db_session.commit()
def add_sorters(self, sorters, delete_before=False): if delete_before: for sorter in self.__sorters: db_session.delete(sorter) for sorter in sorters: if sorter.column: db_session.add(sorter) db_session.commit()
def add_groupers(self, groupers, delete_before=False): if delete_before: for grouper in self.__groupers: db_session.delete(grouper) for grouper in groupers: if grouper.column: db_session.add(grouper) db_session.commit()
def profile(): form = ProfileForm() if form.validate_on_submit(): language = form.language.data current_user.language = language db_session.commit() flash(_('Profile settings saved successfully!'), 'success') return redirect('/') else: form.language.data = current_user.language return snapins.render_sidebar_template('users/profile.html', version='0.1', form=form)
def edit_view(): link_name = request.args.get('link_name', '') datasource = request.args.get('datasource', '') form = ViewForm(csrf_enabled=True) view_manager = ViewManager() if request.method=='GET': # Store the link_name parameter to use when we will be in post request session['link_name'] = link_name # We want to edit an existing view or create a new one? if link_name: if view_manager.set_view(link_name): view = view_manager.get_view() form = ViewForm(csrf_enabled=True, obj=view) form.populate_obj(view) form.set_columns_choices(view_manager.get_columns_choices()) form.set_links_choices(view_manager.get_links_choices()) columns = view_manager.get_columns() groupers = view_manager.get_groupers() form.set_columns(columns) if groupers: form.set_groupers(groupers) add_default_groupers(form) sorters = view_manager.get_sorters() if sorters: form.set_sorters(sorters) add_default_sorters(form) filters = view_manager.get_filters() #form.populate_obj(filters) else: flash(_(u'View') + ' \'' + link_name + '\' ' + _(u'doesn\'t exist'), 'error') return redirect('/view') else: if not datasource: datasource = 'hosts' view_manager.set_view_dummy(datasource) view = view_manager.get_view() form = ViewForm(csrf_enabled=True, obj=view) form.populate_obj(view) form.columns.append_entry() add_default_sorters(form) add_default_groupers(form) form.set_columns_choices(view_manager.get_columns_choices(), update=True) form.set_links_choices(view_manager.get_links_choices(), update=True) elif request.method=='POST': link_name = session['link_name'] if link_name: saved_view = view_manager.set_view(link_name) form = ViewForm(csrf_enabled=True, obj=saved_view) #form.populate_obj(saved_view) else: view_manager.set_view_dummy(datasource) form.set_links_choices(view_manager.get_links_choices(), update=True) if form.validate_on_submit(): if not link_name: view = form.get_view() view_manager.add_view(view) link_name = view.link_name saved_view = view_manager.set_view(link_name) view_manager.add_columns(form.get_columns(view.id)) view_manager.add_sorters(form.get_sorters(view.id)) view_manager.add_groupers(form.get_groupers(view.id)) view_manager.add_filters(form.get_filters()) db_session.commit() else: view = view_manager.set_view(link_name) view_manager.update_view(form.get_view()) view_manager.update_filters(form.get_filters()) view_manager.add_columns(form.get_columns(view.id), delete_before=True) view_manager.add_groupers(form.get_groupers(view.id), delete_before=True) view_manager.add_sorters(form.get_sorters(view.id), delete_before=True) flash(_(u'View') + ' \'' + view_manager.get_view().title + '\' ' + _(u'saved successfully!'), 'success') return redirect('/view?link_name='+ view_manager.get_view().link_name) filter_display = view_manager.get_filter_display(form.filters) return snapins.render_sidebar_template('views/edit_view.html', link_name=link_name, form=form, filter_display=filter_display)
def update_filters(self, filters): self.__view.filters.update(filters) db_session.commit()
def add_filters(self, filters): self.__view.filters = filters db_session.commit()
def add_view(self, view): db_session.add(view) db_session.commit()
def update_view(self, view): self.__view.update_view(view) db_session.commit()