def operators(t_id): office = data.Office.query.filter_by(id=t_id).first() if office is None: flash(get_lang(4), "danger") return redirect(url_for('root')) if current_user.role_id == 3 and data.Operators.query.filter_by( id=current_user.id).first() is None: flash(get_lang(0), "danger") return redirect(url_for('root')) page = request.args.get('page', 1, type=int) if page > int(data.Operators.query.count() / 10) + 1: flash(get_lang(4), 'danger') return redirect(url_for('manage.office', o_id=t_id)) pagination = data.Operators.query.filter_by(office_id=t_id).paginate( page, per_page=10, error_out=False) return render_template('operators.html', ptitle=str(office.name) + ' operators', len=len, offices=data.Office.query, pagination=pagination, usersp=pagination.items, serial=data.Serial.query, users=data.User.query, tasks=data.Task.query, operators=data.Operators.query, navbar="#snb1", dropdown="#dropdown-lvl" + str(t_id), hash="#to" + str(t_id))
def user_a(): if current_user.role_id != 1: flash(get_lang(4), "danger") return redirect(url_for('core.root')) form = forms.User_a() if session.get('lang') == "AR": form = forms.User_a_ar() if form.validate_on_submit(): if data.User.query.filter_by(name=form.name.data).first() is not None: flash(get_lang(5), "danger") return redirect(url_for('administrate.user_a')) db.session.add( data.User(form.name.data, form.password.data, form.role.data)) db.session.commit() # Fix: multiple operators for office # adding user to Operators list if form.role.data == 3: db.session.add( data.Operators( data.User.query.filter_by(name=form.name.data).first().id, form.offices.data)) db.session.commit() flash(get_lang(6), "info") return redirect(url_for('administrate.users')) return render_template('user_add.html', form=form, navbar='#snb3', ptitle='Add user')
def slideshow(): ex_functions.mse() if current_user.role_id != 1: flash(get_lang(0), "danger") return redirect(url_for('core.root')) if data.Vid.query.first().enable == 1: flash(get_lang(31), 'danger') return redirect(url_for('cust_app.video')) page = request.args.get('page', 1, type=int) if page > int(data.Slides.query.count() / 10) + 1: flash(get_lang(4), 'danger') return redirect(url_for('cust_app.slideshow')) pagination = data.Slides.query.paginate(page, per_page=10, error_out=False) return render_template( "slideshow.html", len=len, navbar="#snb2", sli=data.Slides_c.query.first(), mmm=data.Slides.query, slides=pagination.items, pagination=pagination, sm=data.Slides.query.filter(data.Slides.ikey != 0).count(), ptitle="All slides", hash="#ss1", dropdown="#dropdown-lvl3", vtrue=data.Vid.query.first().enable, strue=data.Slides_c.query.first().status)
def logout(): if not current_user.is_authenticated: flash(get_lang(13), "danger") return redirect(url_for("core.root")) logout_user() flash(get_lang(14), "info") return redirect(url_for("core.root"))
def task_d(t_id): task = data.Task.query.filter_by(id=t_id).first() if task is None: flash(get_lang(4), "danger") return redirect(url_for("core.root")) if current_user.role_id == 3 and oid is data.Operators.query.filter_by( id=current_user.id).first(): flash(get_lang(17), "danger") return redirect(url_for('core.root')) if current_user.role_id == 3 and task.office_id != data.Operators.query.filter_by( id=current_user.id).first().office_id: flash(get_lang(17), "danger") return redirect(url_for('core.root')) if data.Serial.query.filter( and_(data.Serial.task_id == t_id, data.Serial.number != 100)).count() > 0: flash(get_lang(46), "danger") return redirect(url_for("manage_app.task", o_id=t_id)) evil = data.Serial.query.filter_by(task_id=t_id, number=100).first() if evil is not None: db.session.delete(evil) db.session.delete(data.Task.query.filter_by(id=t_id).first()) db.session.commit() flash(get_lang(51), "info") return redirect(url_for("manage_app.offices", o_id=task.office_id))
def task_a(o_id): form = forms.Task_a() if session.get('lang') == 'AR': form = forms.Task_a_ar() if data.Office.query.filter_by(id=o_id).first() is None: flash(get_lang(4), "danger") return redirect(url_for("core.root")) if current_user.role_id == 3 and data.Operators.query.filter_by( id=current_user.id).first() is None: flash(get_lang(17), "danger") return redirect(url_for('core.root')) if current_user.role_id == 3 and o_id != data.Operators.query.filter_by( id=current_user.id).first().office_id: flash(get_lang(17), "danger") return redirect(url_for('core.root')) if form.validate_on_submit(): if data.Task.query.filter_by(name=form.name.data).first() is not None: flash(get_lang(43), "danger") return redirect(url_for("manage_app.task_a")) db.session.add(data.Task(form.name.data, o_id)) db.session.commit() flash(get_lang(52), "info") return redirect(url_for("manage_app.offices", o_id=o_id)) return render_template("task_add.html", form=form, offices=data.Office.query, serial=data.Serial.query, tasks=data.Task.query, operators=data.Operators.query, navbar="#snb1", dropdown="#dropdown-lvl" + str(o_id), hash="#t3" + str(o_id), ptitle="Add new task")
def slide_c(): ex_functions.mse() if current_user.role_id != 1: flash(get_lang(0), "danger") return redirect(url_for('core.root')) if data.Vid.query.first().enable == 1: flash(get_lang(31), 'danger') return redirect(url_for('cust_app.video')) form = forms.Slide_c() if session.get('lang') == 'AR': form = forms.Slide_c_ar() sc = data.Slides_c.query.first() if form.validate_on_submit(): sc.rotation = form.rotation.data sc.navigation = form.navigation.data sc.effect = form.effect.data sc.status = form.status.data db.session.add(sc) db.session.commit() flash(get_lang(33), "info") return redirect(url_for("cust_app.slide_c")) form.rotation.data = sc.rotation form.navigation.data = sc.navigation form.effect.data = sc.effect form.status.data = sc.status return render_template("slide_settings.html", form=form, navbar="#snb2", hash="#ss2", ptitle="Slideshow settings", dropdown="#dropdown-lvl3", vtrue=data.Vid.query.first().enable, strue=data.Slides_c.query.first().status)
def serial_rt(t_id): if data.Task.query.filter_by(id=t_id).first() is None: flash(get_lang(54), "danger") return redirect(url_for("manage_app.all_offices")) sr = data.Serial.query.filter_by(task_id=t_id) if current_user.role_id == 3 and data.Operators.query.filter_by( id=current_user.id).first() is None: flash(get_lang(17), "danger") return redirect(url_for('core.root')) if current_user.role_id == 3 and t_id != data.Operators.query.filter_by( id=current_user.id).first().office_id: flash(get_lang(17), "danger") return redirect(url_for('core.root')) if sr.first() is None: flash(get_lang(23), "danger") return redirect(url_for("manage_app.task", o_id=t_id)) for f in sr: w = data.Waiting.query.filter_by(office_id=f.office_id, number=f.number).first() db.session.delete(f) if w is not None: db.session.delete(w) db.session.commit() flash(get_lang(24), "info") return redirect(url_for("manage_app.task", o_id=t_id))
def user_d(u_id): if current_user.role_id != 1: flash(get_lang(0), "danger") return redirect(url_for('core.root')) u = data.User.query.filter_by(id=u_id).first() if u is None: flash(get_lang(7), "danger") return redirect(url_for("core.root")) if u.id == 1: flash(get_lang(8), "danger") return redirect(url_for("administrate.users")) # if data.Office.query.filter_by(operator_id=u.id).first() is not None: # flash(get_lang(9), # "danger") # return redirect(url_for("administrate.users")) # Fix: multiple operators for office # checking if user is assigned operator # !! Removed checking on second though it seems useless since assinging became obligatory # if data.Operators.query.filter_by(id=u.id).first() is not None: # flash(get_lang(9), # "danger") # return redirect(url_for("administrate.users")) # delete from operators if user is operator if u.role_id == 3: db.session.delete(data.Operators.query.filter_by(id=u.id).first()) db.session.delete(u) db.session.commit() flash(get_lang(11), "info") return redirect(url_for('administrate.users'))
def office_a(): if current_user.role_id == 3: flash(get_lang(17), "danger") return redirect(url_for('core.root')) form = forms.Offices_a() if session.get('lang') == 'AR': form = forms.Offices_a_ar() if form.validate_on_submit(): if data.Office.query.filter_by( name=form.name.data).first() is not None: flash(get_lang(42), "danger") return redirect(url_for("manage_app.all_offices")) db.session.add(data.Office(form.name.data, form.prefix.data.upper())) db.session.commit() flash(get_lang(45), "info") return redirect(url_for("manage_app.all_offices")) return render_template("office_add.html", form=form, ptitle="Adding new office", offices=data.Office.query, tasks=data.Task.query, operators=data.Operators.query, navbar="#snb1", hash="#da3", serial=data.Serial.query)
def page_not_found(error): if error == 413: flash(get_lang(55), "danger") if current_user.is_authenticated: return redirect(url_for('cust_app.multimedia', nn=1)) return redirect(url_for('core.root')) flash(get_lang(56), "danger") return redirect(url_for('core.root'))
def ticket(): if os.name == 'nt': from win_printer import listpp lll = listpp() else: lll = listp() ex_functions.mse() if current_user.role_id != 1: flash(get_lang(0), 'danger') return redirect(url_for('core.root')) form = forms.Printer_f(lll) if session.get('lang') == "AR": form = forms.Printer_f_ar(lll) tc = data.Touch_store.query.first() pr = data.Printer.query.first() if form.validate_on_submit(): if form.kind.data == 1: tc.n = True pr.value = form.value.data pr.active = False db.session.add(tc) db.session.add(pr) else: if form.printers.data == "00": flash(get_lang(19), 'danger') return redirect(url_for('cust_app.ticket')) f = form.printers.data pr.product = f if os.name != 'nt': f = f.split('_') pr.vendor = f[0] pr.product = f[1] pr.in_ep = int(f[2]) pr.out_ep = int(f[3]) tc.n = False pr.active = True pr.langu = form.langu.data pr.value = form.value.data db.session.add(tc) db.session.add(pr) db.session.commit() flash(get_lang(27), 'info') return redirect(url_for('cust_app.ticket')) if tc.n: form.kind.data = 1 else: form.kind.data = 2 form.printers.data = pr.vendor + '_' + pr.product form.printers.data += '_' + str(pr.in_ep) + '_' + str(pr.out_ep) form.langu.data = pr.langu form.value.data = pr.value return render_template('ticket.html', navbar='#snb2', ptitle='Tickets', vtrue=data.Vid.query.first().enable, strue=data.Slides_c.query.first().status, form=form, hash='#da7')
def offices(o_id): ofc = data.Office.query.filter_by(id=o_id).first() if ofc is None: flash(get_lang(4), "danger") return redirect(url_for("manage_app.all_offices")) if current_user.role_id == 3 and data.Operators.query.filter_by( id=current_user.id).first() is None: flash(get_lang(17), "danger") return redirect(url_for('core.root')) form = forms.Offices_a(upd=ofc.prefix) if session.get('lang') == 'AR': form = forms.Offices_a_ar(upd=ofc.prefix) page = request.args.get('page', 1, type=int) if page > int( data.Serial.query.filter_by(office_id=o_id).count() / 10) + 1: flash(get_lang(4), 'danger') return redirect(url_for('manage_app.offices', o_id=o_id)) pagination = data.Serial.query.filter_by(office_id=o_id).order_by( data.Serial.p).order_by(data.Serial.number.desc()).paginate( page, per_page=10, error_out=False) if form.validate_on_submit(): mka = data.Office.query.filter_by(name=form.name.data) for f in mka: if f.id != o_id: flash(get_lang(42), "danger") return redirect(url_for("manage_app.offices", o_id=o_id)) ofc.name = form.name.data ofc.prefix = form.prefix.data.upper() db.session.commit() flash(get_lang(44), "info") return redirect(url_for('manage_app.offices', o_id=o_id)) form.name.data = ofc.name form.prefix.data = ofc.prefix.upper() return render_template('offices.html', form=form, officesp=pagination.items, pagination=pagination, ptitle="Office : " + ofc.prefix + str(ofc.name), o_id=o_id, ooid=ofc, len=len, serial=data.Serial.query, offices=data.Office.query, tasks=data.Task.query, users=data.User.query, operators=data.Operators.query, navbar="#snb1", dropdown="#dropdown-lvl" + str(o_id), hash="#t1" + str(o_id))
def user_da(): if current_user.role_id != 1: flash(get_lang(0), "danger") return redirect(url_for('core.root')) for u in data.User.query: # Fix: multiple operators for office # ofc = data.Office.query.filter_by(operator_id=u.id).first() if u.role_id == 3: opt = data.Operators.query.filter_by(id=u.id).first() if opt: db.session.delete(opt) if u.id != 1: db.session.delete(u) db.session.commit() flash(get_lang(12), "info") return redirect(url_for('administrate.users'))
def admin_u(): if current_user.id != 1: flash(get_lang(1), 'danger') return redirect(url_for('core.root')) form = forms.U_admin() if session.get('lang') == "AR": form = forms.U_admin_ar() admin = data.User.query.filter_by(id=1).first() if form.validate_on_submit(): admin.password = form.password.data db.session.commit() flash(get_lang(2), 'info') return redirect(url_for('administrate.logout')) return render_template('admin_u.html', navbar='#snb3', ptitle="Updating Admin Password", form=form)
def office_da(): if current_user.role_id == 3: flash(get_lang(17), "danger") return redirect(url_for('core.root')) if data.Office.query.count() <= 0: flash(get_lang(53), "danger") return redirect(url_for("manage_app.all_offices")) if data.Serial.query.count() > 0: flash(get_lang(46), "danger") return redirect(url_for("manage_app.all_offices")) for f in data.Office.query: for t in data.Task.query.filter_by(office_id=f.id): db.session.delete(t) db.session.delete(f) db.session.commit() flash(get_lang(47), "info") return redirect(url_for("manage_app.all_offices"))
def slide_a(): ex_functions.mse() if current_user.role_id != 1: flash(get_lang(0), "danger") return redirect(url_for('core.root')) if data.Vid.query.first().enable == 1: flash(get_lang(31), 'danger') return redirect(url_for('cust_app.video')) form = forms.Slide_a() if session.get('lang') == 'AR': form = forms.Slide_a_ar() if form.validate_on_submit(): if form.background.data == 00: bb = form.bgcolor.data else: bb = data.Media.query.filter_by(id=form.background.data).first() if bb is None: flash(get_lang(4), "danger") return redirect(url_for("cust_app.slide_a")) bb = bb.name ss = data.Slides() ss.title = form.title.data ss.hsize = form.hsize.data ss.hcolor = form.hcolor.data ss.hfont = form.hfont.data ss.hbg = form.hbg.data ss.subti = form.subti.data ss.tsize = form.tsize.data ss.tcolor = form.tcolor.data ss.tfont = form.tfont.data ss.tbg = form.tbg.data ss.bname = bb ss.ikey = form.background.data db.session.add(ss) db.session.commit() flash(get_lang(32), "info") return redirect(url_for("cust_app.slideshow")) return render_template("slide_add.html", ptitle="Add Slide ", form=form, navbar="#snb2", hash=1, dropdown='#dropdown-lvl3', vtrue=data.Vid.query.first().enable, strue=data.Slides_c.query.first().status)
def users(): if current_user.role_id != 1: flash(get_lang(0), "danger") return redirect(url_for('root')) page = request.args.get('page', 1, type=int) if page > int(data.User.query.count() / 10) + 1: flash(get_lang(4), 'danger') return redirect(url_for('administrate.users')) pagination = data.User.query.paginate(page, per_page=10, error_out=False) return render_template('users.html', ptitle='All users', navbar='#snb3', len=len, offices=data.Office.query, pagination=pagination, usersp=pagination.items, operators=data.Operators.query, users=data.User.query)
def customize(): ex_functions.mse() if current_user.role_id != 1: flash(get_lang(0), "danger") return redirect(url_for('core.root')) return render_template("customize.html", ptitle="Customization", navbar="#snb2", vtrue=data.Vid.query.first().enable, strue=data.Slides_c.query.first().status)
def video(): ex_functions.mse() if current_user.role_id != 1: flash(get_lang(0), 'danger') return redirect(url_for('core.root')) if data.Slides_c.query.first().status == 1: flash(get_lang(28), 'danger') return redirect(url_for('cust_app.slide_c')) form = forms.Video() if session.get('lang') == "AR": form = forms.Video_ar() vdb = data.Vid.query.first() if form.validate_on_submit(): if form.video.data == 00: vdb.enable = 2 vdb.vkey = 00 else: vdb.vkey = form.video.data vdb.enable = form.enable.data mname = data.Media.query.filter_by(id=form.video.data).first() vdb.vname = mname.name data.Display_store.query.first().vkey = form.video.data data.Media.query.filter_by(id=form.video.data).first().used = True vdb.ar = form.ar.data vdb.controls = form.controls.data vdb.mute = form.mute.data db.session.add(vdb) db.session.commit() flash(get_lang(29), 'info') return redirect(url_for('cust_app.video')) if vdb is not None: form.video.data = vdb.vkey form.enable.data = vdb.enable form.ar.data = vdb.ar form.controls.data = vdb.controls form.mute.data = vdb.mute return render_template('video.html', ptitle='Video settings', navbar='#snb2', hash='#da5', form=form, vtrue=data.Vid.query.first().enable, strue=data.Slides_c.query.first().status)
def office_d(o_id): if current_user.role_id == 3: flash(get_lan(17), "danger") return redirect(url_for('core.root')) if data.Office.query.filter_by(id=o_id).first() is None: flash(get_lang(4), "danger") return redirect(url_for("manage_app.offices", o_id=o_id)) if data.Serial.query.filter( and_(data.Serial.office_id == o_id, data.Serial.number != 100)).count() > 0: flash(get_lang(46), "danger") return redirect(url_for("manage_app.offices", o_id=o_id)) for t in data.Task.query.filter_by(office_id=o_id): if t is not None: db.session.delete(t) db.session.delete(data.Office.query.filter_by(id=o_id).first()) db.session.commit() flash(get_lang(47), "info") return redirect(url_for("manage_app.all_offices"))
def serial_ra(): if data.Office.query.first() is None: flash(get_lang(54), "danger") return redirect(url_for("manage_app.all_offices")) if current_user.role_id == 3: flash(get_lang(17), "danger") return redirect(url_for('core.root')) sr = data.Serial.query if sr.first() is None: flash(get_lang(21), "danger") return redirect(url_for("manage_app.all_offices")) for f in sr: w = data.Waiting.query.filter_by(office_id=f.office_id, number=f.number).first() db.session.delete(f) if w is not None: db.session.delete(w) db.session.commit() flash(get_lang(22), "info") return redirect(url_for("manage_app.all_offices"))
def multi_del(f_id): if current_user.role_id != 1: flash(get_lang(0), "danger") return redirect(url_for('core.root')) dire = r_path('static/multimedia/') if data.Media.query.filter_by(used=False).count() <= 0: flash(get_lang(39), "danger") return redirect(url_for('cust_app.multimedia', aa=1)) if f_id == 00: for a in data.Media.query: if not a.used: if os.path.exists(dire + a.name): os.remove(dire + a.name) db.session.delete(a) db.session.commit() flash(get_lang(40), "info") return redirect(url_for('cust_app.multimedia', aa=1)) mf = data.Media.query.filter_by(id=f_id).first() if mf is not None: if mf.used: flash(get_lang(39), "danger") return redirect(url_for('cust_app.multimedia', aa=1)) if os.path.exists(dire + mf.name): os.remove(dire + mf.name) db.session.delete(mf) db.session.commit() flash(get_lang(40), "info") return redirect(url_for('cust_app.multimedia', aa=1)) else: flash(get_lang(39), "danger") return redirect(url_for('core.root'))
def slide_r(f_id): ex_functions.mse() if current_user.role_id != 1: flash(get_lang(0), "danger") return redirect(url_for('core.root')) if data.Slides.query.count() <= 0: flash(get_lang(34), "danger") return redirect(url_for('cust_app.slideshow')) if data.Vid.query.first().enable == 1: flash(get_lang(31), 'danger') return redirect(url_for('cust_app.video')) if f_id == 00: for a in data.Slides.query: if a is not None: db.session.delete(a) db.session.commit() flash(get_lang(35), "info") return redirect(url_for('cust_app.slideshow')) mf = data.Slides.query.filter_by(id=f_id).first() if mf is not None: db.session.delete(mf) db.session.commit() flash(get_lang(35), "info") return redirect(url_for('cust_app.slideshow')) else: flash(get_lang(34), "danger") return redirect(url_for('core.root'))
def all_offices(): if current_user.role_id == 3: flash(get_lang(17), "danger") return redirect(url_for('core.root')) page = request.args.get('page', 1, type=int) if page > int(data.Serial.query.count() / 10) + 1: flash(get_lang(4), 'danger') return redirect(url_for('manage_app.all_offices')) pagination = data.Serial.query.order_by( data.Serial.p, data.Serial.timestamp.desc()).paginate(page, per_page=10, error_out=False) return render_template('all_offices.html', officesp=pagination.items, pagination=pagination, len=len, ptitle="All Offices", serial=data.Serial.query, offices=data.Office.query, tasks=data.Task.query, users=data.User.query, operators=data.Operators.query, navbar="#snb1", hash="#da2")
def csvd(t_name): if current_user.role_id != 1: flash(get_lang(0), 'danger') return redirect(url_for('core.root')) form = forms.CSV() if session.get('lang') == "AR": form = forms.CSV_ar() t_ids = ['User', 'Office', 'Task', 'Serial', 'Waiting', 'Roles'] if t_name in t_ids: t_name = eval('data.' + t_name) fn = 'csvd.csv' ffn = r_path(fn) of = open(ffn, 'w+') outcsv = csv.writer(of) outcsv.writerow([ column.name for column in t_name.__mapper__.columns if column.name != 'password_hash' ]) [ outcsv.writerow([ getattr(curr, column.name) for column in t_name.__mapper__.columns if column.name != 'password_hash' ]) for curr in t_name.query.all() ] of.close() return send_file(ffn, mimetype='csv', as_attachment=True) elif t_name != '0': flash(get_lang(4), 'danger') return redirect(url_for('core.root')) if form.validate_on_submit(): return redirect(url_for('administrate.csvd', t_name=form.table.data)) return render_template('csvs.html', navbar='#snb3', ptitle='Export CSV', form=form)
def user_u(u_id): if current_user.role_id != 1 and current_user.id != u_id: flash(get_lang(0), "danger") return redirect(url_for('core.root')) form = forms.User_a() if session.get('lang') == "AR": form = forms.User_a_ar() u = data.User.query.filter_by(id=u_id).first() if u is None: flash(get_lang(7), "danger") return redirect(url_for("core.root")) if u.id == 1: flash(get_lang(8), "danger") return redirect(url_for("administrate.users")) if data.Office.query.filter_by(operator_id=u.id).first() is not None: flash(get_lang(9), "danger") return redirect(url_for("administrate.users")) if form.validate_on_submit(): u.name = form.name.data u.password = form.password.data u.role_id = form.role.data db.session.commit() flash(get_lang(10), "info") return redirect(url_for('administrate.users')) form.name.data = u.name form.role.data = u.role_id # Fix: multiple operators for office # fetch office id if operator if u.role_id == 3: form.offices.data = data.Operators.query.filter_by( id=u.id).first().office_id return render_template('user_update.html', form=form, navbar='#snb3', ptitle='Update user : ' + u.name, u=u)
def manage(): ofc = data.Operators.query.filter_by(id=current_user.id).first() if current_user.role_id == 3 and ofc is None: flash(get_lang(17), "danger") return redirect(url_for('core.root')) if ofc is None: ofc = 0 else: ofc = ofc.id return render_template("manage.html", ptitle="Management", navbar="#snb1", ooid=ofc, serial=data.Serial.query, offices=data.Office.query, operators=data.Operators.query, tasks=data.Task.query)
def task(o_id): form = forms.Task_a() if session.get('lang') == 'AR': form = forms.Task_a_ar() task = data.Task.query.filter_by(id=o_id).first() if task is None: flash(get_lang(4), "danger") return redirect(url_for("core.root")) if current_user.role_id == 3 and data.Operators.query.filter_by( id=current_user.id).first() is None: flash(get_lang(17), "danger") return redirect(url_for('core.root')) if current_user.role_id == 3 and task.office_id != data.Operators.query.filter_by( id=current_user.id).first().office_id: flash(get_lang(17), "danger") return redirect(url_for('core.root')) ofc = data.Office.query.filter_by(id=task.office_id).first() page = request.args.get('page', 1, type=int) if page > int(data.Serial.query.filter_by(task_id=o_id).count() / 10) + 1: flash(get_lang(4), 'danger') return redirect(url_for('manage_app.task', o_id=o_id)) pagination = data.Serial.query.filter_by(task_id=o_id).order_by( data.Serial.timestamp.desc()).paginate(page, per_page=10, error_out=False) if form.validate_on_submit(): mka = data.Task.query.filter_by(name=form.name.data) for f in mka: if f.id != o_id: flash(get_lang(43), "danger") return redirect(url_for("manage_app.task", o_id=o_id)) task.name = form.name.data db.session.add(task) db.session.commit() flash(get_lang(50), "info") return redirect(url_for("manage_app.task", o_id=o_id)) form.name.data = task.name return render_template('tasks.html', form=form, ptitle="Task : " + task.name, tasksp=pagination.items, pagination=pagination, serial=data.Serial.query, o_id=o_id, len=len, offices=data.Office.query, tasks=data.Task.query, users=data.User.query, operators=data.Operators.query, task=task, navbar="#snb1", dropdown="#dropdown-lvl" + str(task.office_id), hash="#tt" + str(task.office_id) + str(o_id))
def root(n=None): b = None form = forms.Login() if session.get('lang') == 'AR': form = forms.Login_ar() if n is not None and n == 'a': n = True elif n is not None and n == 'b': b = True elif n is None: n = False else: flash(get_lang(4), "danger") return redirect(url_for('core.root')) if data.User.query.first() is None: flash(get_lang(4), "danger") return redirect(url_for('core.root')) # Check if default password and account dpass = False if data.User.query.filter_by(id=1).first().verify_password('admin'): dpass = True if form.validate_on_submit(): if current_user.is_authenticated: flash(get_lang(4), "danger") return redirect(url_for('core.root')) user = data.User.query.filter_by(name=form.name.data).first() if user is not None: if user.verify_password(form.password.data): if form.rm.data: login_user(user, remember=True) else: login_user(user) flash(get_lang(16), "info") if b: s = str(session.get('next_url', '/')) session['next_url'] = None return redirect(s) else: return redirect(url_for('manage_app.manage')) flash(get_lang(17), "danger") return redirect(url_for("core.root", n='a')) flash(get_lang(17), "danger") return redirect(url_for("core.root", n='a')) return render_template("index.html", ptitle="Free Queue Manager", form=form, n=n, dpass=dpass)