def entry(): db = get_db() q = Query() value = request.args.get('value', '') query_filters = request.args.get('filter', '').split(' ') value = Markup(value).unescape() # can use regexp search_args = dict(regex=value, flags=re.IGNORECASE) result = db.search((q.anarana.search(**search_args)) | (q.fanampinanarana.search(**search_args)) | (q.anarana_feno.search(**search_args)) | (q.id == integer(value)) | (q.groupe == integer(value)) | (q.finday.test(lambda s: value in s))) ft = Filter(result) for qf in query_filters: ft(qf) if len(ft.preachers) == 1: return redirect(url('main.preacher', id=ft.preachers[0]['id'])) all_ft = [filter_name[_] for _ in list(ft.all_filters)] on_ft = [filter_name[_] for _ in ft.filtered_by] def is_active(ft): """ helper function for color. """ return '' if ft in on_ft else '-outline' def add_f(f_to_add): f_to_add = reverse_filter_name[f_to_add] f = ' '.join(ft.filtered_by + [f_to_add]) return url('main.search', value=value, filter=f) def remove_f(f_to_remove): on_ft.remove(f_to_remove) f = ' '.join([reverse_filter_name[_] for _ in on_ft]) on_ft.append(f_to_remove) return url('main.search', value=value, filter=f) return dict( value=value, on_ft=on_ft, all_ft=all_ft, add_f=add_f, remove_f=remove_f, hide_search=True, is_active=is_active, preacher=ft.preachers, all=db.all(), )
def decorated_function(*args, **kwargs): if request.method == 'POST': try: # Search form value = request.form['search'] return redirect(url('main.search', value=value)) except KeyError: pass return f(*args, **kwargs)
def entry(): user_login_handler = UserLoginHandler(UserLoginForm) pushed = user_login_handler.push() if pushed: return redirect(url('main.request')) return { 'form': user_login_handler.form, }
def entry(id): db = get_db() q = Query() name = request.form.get('name', None) preacher = db.get(q.id == id) pattern = [ f"{preacher['anarana']} {preacher['fanampinanarana']}", preacher['anarana'], preacher['fanampinanarana'], ] if preacher['anarana_feno'] != '': pattern.append(preacher['anarana_feno']) if name in pattern: db.remove(q.id == id) return redirect(url('home')) flash('Tontosa ny fanafoanana ny mpitory', 'success') return redirect(url('main.preacher', id=id))
def entry(id): MONTH = str(app.config['MONTH']) db = get_db() preacher = db.get(q.id == id) if preacher is None: abort(404) report = sort_month(preacher['tatitra']) has_report = returned(MONTH)(preacher) report_handler = ReportHandler(ReportForm, preacher, has_report) pushed = report_handler.push() if pushed: flash("Tafiditra soaman'tsara ny tatitra", 'success') return redirect(url('main.preacher', id=id)) months = auxiliary_check(id) # growth widget growth = [ growth_data('zavatra_napetraka', 'Zavatra napetraka', [preacher]), growth_data('video', 'Video', [preacher]), growth_data('ora', 'Ora', [preacher]), growth_data('fitsidihana', 'Fitsidihana', [preacher]), growth_data('fampianarana', 'Fampianarana', [preacher]), ] growth_six = [ growth_data_six('zavatra_napetraka', 'Zavatra napetraka', [preacher]), growth_data_six('video', 'Video', [preacher]), growth_data_six('ora', 'Ora', [preacher]), growth_data_six('fitsidihana', 'Fitsidihana', [preacher]), growth_data_six('fampianarana', 'Fampianarana', [preacher]), ] return dict( pr=preacher, report=report, months=months, growth=growth, growth_six=growth_six, hour_chart=hour_chart([preacher]), has_report=has_report, is_auxiliary=is_auxiliary()(preacher), all_table=all_table([preacher]), form=report_handler.form, )
def entry(): new_preacher_handler = NewPreacherHandler() pushed = new_preacher_handler.push() if pushed: id = new_preacher_handler.form.id.data flash("Tafiditra soaman'tsara ny mpitory", 'success') return redirect(url('main.preacher', id=id)) return dict( title='Mpitory vaovao', form=new_preacher_handler.form, hide_search=request.args.get('hide_search', False), )
def entry(id): db = get_db() q = Query() preacher = db.get(q.id == id) form = EditPreacherForm(last_id=preacher['id'], id=preacher['id'], last_name=preacher['anarana'], first_name=preacher['fanampinanarana'], phone1=preacher['finday'][0], phone2=preacher['finday'][1], phone3=preacher['finday'][2], address=preacher['adiresy'], gender=preacher['lahy_sa_vavy'], birth=preacher['teraka'], baptism=preacher['batisa'], group=preacher['groupe'], promo=preacher['tombotsoa'], regular_pionner=preacher['maharitra']) if form.validate_on_submit(): data = { 'id': form.id.data, 'anarana': form.last_name.data, 'fanampinanarana': form.first_name.data, 'finday': [form.phone1.data, form.phone2.data, form.phone3.data], 'adiresy': form.address.data, 'lahy_sa_vavy': form.gender.data, 'teraka': form.birth.data, 'batisa': form.baptism.data, 'groupe': form.group.data, 'tombotsoa': form.promo.data, 'maharitra': form.regular_pionner.data, 'tatitra': preacher['tatitra'], } db.update(data, q.id == id) flash('Tontosa ny fanavaozana ny mpitory', 'success') return redirect(url('main.preacher', id=form.id.data)) return dict( title='Fanovana', form=form, )
def decorated_function(*args, **kwargs): if request.method == 'POST': try: # Search form value = request.form['search'] return redirect(url('main.search', value=value)) except KeyError: pass try: # Month form if request.form['month']: y = request.form['month'].split('-')[0] m = request.form['month'].split('-')[1] app.config['MONTH'].__init__(f'{m}_{y}') except KeyError: pass return f(*args, **kwargs)
def entry(id): mdb = get_db('mpanampy') service_year = get_service_year() for service_month in service_year: month = str(service_month) preacher = getsert(month)['mpitory'] if request.form.get(month) in (None, 'off', False): if id in preacher: preacher.remove(id) mdb.update(set('mpitory', preacher), q.volana == month) else: if id not in preacher: preacher.append(id) mdb.update(set('mpitory', preacher), q.volana == month) flash('Tontosa ny fampidirana mpisavalalana mpanampy', 'success') return redirect(url('main.preacher', id=id))
def create(): user = api.users.get_current_user() count = user.companies.count() if count == 0: name = 'My Company' else: name = 'Company #%d' % (count + 1) company = api.companies.create(user, name) count = company.accounts.count() if count == 0: name = 'First Account' else: name = 'Account #%d' % (count + 1) type = Account.TYPE_SAVINGS_ACCOUNT # TODO: get users default currency # TODO: ask for type of account and currency? # TODO: instead of asking, guess and then warn the user # about it before/when he/she does the first transaction? currency = Currencies.COP.code account = api.accounts.create(user, company, name, type, currency) return redirect(url('accounts.view', account=account.key()))
def wrapped(*args, **kwargs): if not session.get('userId', None): return redirect(url('admin.login')) return func(*args, **kwargs)
def entry(): if request.method == 'POST': if request.form['username'] == request.form['password'] == 'admin': return redirect(url('admin.home')) return {}
def remove_f(f_to_remove): on_ft.remove(f_to_remove) f = ' '.join([reverse_filter_name[_] for _ in on_ft]) on_ft.append(f_to_remove) return url('main.search', value=value, filter=f)
def add_f(f_to_add): f_to_add = reverse_filter_name[f_to_add] f = ' '.join(ft.filtered_by + [f_to_add]) return url('main.search', value=value, filter=f)