def _wrapper(handler, *args, **kw): logging.info("IN login_required1 is_admin:%s"%users.is_current_user_admin()) if not users.is_current_user_admin(): current_user = users.get_current_user() admin_user = AdminUser.all().filter('user ='******'gmail_id =', current_user.email()).get() logging.info("admin_user step 2: %s"%admin_user) if not admin_user: logging.info("Redirecting ...") handler.redirect(users.create_login_url(handler.request.uri)) return return func(handler, *args, **kw)
def add_user(): if current_user.email != 'developer': return json.dumps({'code': 1, 'msg': 'Access denied for user.'}) email = request.form.get('email', '') password = request.form.get('password', '') group_id = request.form.get('group_id', -1) if not (email and password): email = request.args.get('email', '') password = request.args.get('password', '') group_id = request.args.get('group_id', -1) if not (email and password): return json.dumps({ 'code': 1, 'msg': 'miss email or password. email= %s, password=%s' % (email, password) }) user = AdminUser.query.filter_by(email=email).first() if not user: db.session.add(AdminUser(email, utils.hash_pwd(password), group_id)) db.session.commit() return json.dumps({ 'code': 0, 'msg': 'success. email= %s, password=%s' % (email, password) }) else: return json.dumps({'code': 1, 'msg': 'user is exist.'})
def sign_in(request): if request.method == "GET": return render(request, 'signIn.html') if request.method == "POST": account = request.POST.get('account', None) password = request.POST.get('password', None) if not account or not password: return JsonResponse(resultMsg['NeedParameter']) try: admin_user = AdminUser.objects(account=account).get() except AdminUser.DoesNotExist: return JsonResponse(resultMsg['NotExistUser']) if admin_user.status != "admin": return JsonResponse(resultMsg['AdminAuthorityApplying']) if admin_user.password == password: request.session['currentAdmin'] = { 'id': str(admin_user.id), 'nickname': admin_user.nickname, 'realName': admin_user.realName, 'avatar': admin_user.avatar, 'status': admin_user.status } return JsonResponse(resultMsg['SignInSuccess']) else: return JsonResponse(resultMsg['ErrorPassword'])
def test_should_have_admin_user_as_addressable(self): """ Prueba que una direccion pueda ser asociada a un usuario administrador """ user = AdminUser(email="*****@*****.**", name="nada", last_name="mas") user.save() address = Address() address.street1 = "Cra 7 # 6-19" address.addressable_object = user address.save() address_from_db = Address.objects.get(id=address.id) self.assertEqual(address_from_db.addressable_type.name, 'admin user')
def register_view(self): form = RegistrationForm(request.form) if admin_helpers.validate_form_on_submit(form): adminuser = AdminUser() form.populate_obj(adminuser) adminuser.password = generate_password_hash(form.password.data) db.session.add(adminuser) try: db.session.commit() except: db.session.rollback() login.login_user(adminuser) return redirect(url_for('.index')) return self.render("admin/register.html", form=form)
def post(self): try: name = self.request.get('name') gmail_id = self.request.get('gmail_id') _id = self.request.get('id') logging.info(">>>>>> gmail_id : %s"%gmail_id) if _id !='': adminuser = AdminUser.get_by_id(int(_id)) adminuser.name = name adminuser.gmail_id = gmail_id adminuser.save() else: adminuser = AdminUser(name=name, gmail_id = gmail_id, user = None) adminuser.put() result_dict = {'success':True} except: result_dict = {'success':False} raise self.response.headers['Content-Type'] = 'application/json' self.response.out.write(json.dumps(result_dict))
def get(self): try: adminUsers = AdminUser.all().order('-created') admin_users_array = [] for admin in adminUsers: admin_users_array.append(admin.to_dict()) result_dict = {'success':True, 'adminUsers':admin_users_array} except: result_dict = {'success':False} self.response.headers['Content-Type'] = 'application/json' self.response.out.write(json.dumps(result_dict))
def sign_up(request): if request.method == "GET": return render(request, 'signUp.html') if request.method == "POST": account = request.POST.get('account', None) password = request.POST.get('password', None) real_name = request.POST.get('realName', None) nickname = request.POST.get('nickname', None) phone = request.POST.get('phone', None) if not account or not password or not real_name or not nickname or not phone: return JsonResponse(resultMsg['NeedParameter']) is_exist = AdminUser.objects(account=account).filter().count() if is_exist: return JsonResponse(resultMsg['ExistUser']) admin_user = AdminUser() admin_user.account = account admin_user.password = password admin_user.realName = real_name admin_user.nickname = nickname admin_user.phone = phone admin_user.save() print account + "||" + password + "||" + real_name return JsonResponse(resultMsg['SignUpSuccess'])
def rebuild_database(): db.drop_all() db.create_all() admin_user = AdminUser( email='*****@*****.**', password='******', name='Alan Ballesteros', added_by_id=None, added_by_name=None, join_date=time.strftime("%B %d, %Y"), timestamp=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S:%f')) db.session.add(admin_user) db.session.commit() return jsonify(status='success'), 201
def create_admin(app, csrf): from models import db, User, Legislator, AdminUser, UserMessageInfo, Message, MessageLegislator, Topic from flask.ext.admin.menu import MenuLink admin = Admin(index_view=views.MyAdminIndexView(url=settings.BASE_PREFIX + '/admin')) admin.add_link(MenuLink('Logout', url=settings.BASE_PREFIX + '/admin/logout')) admin.add_view(User.ModelView(User, db.session)) admin.add_view(Legislator.ModelView(Legislator, db.session)) admin.add_view(AdminUser.ModelView(AdminUser, db.session)) admin.add_view(UserMessageInfo.ModelView(UserMessageInfo, db.session)) admin.add_view(Message.ModelView(Message, db.session)) admin.add_view(MessageLegislator.ModelView(MessageLegislator, db.session)) admin.add_view(Topic.ModelView(Topic, db.session)) return admin
def profile(request): c = {} c.update(csrf(request)) uid = request.session['uid'] try: u = AdminUser.objects.get(pk=uid) if request.method == 'POST': u.email = request.POST["email"] u.mobile = request.POST["mobile"] u.realname = request.POST["realname"] try: u.save() messages.success(request, "success") except Exception, e: messages.warning(request, e.message) except ObjectDoesNotExist: u = AdminUser(username=request.session['username']) c['u'] = u return render_to_response("adminuser/profile.html", c, context_instance=RequestContext(request))
def add_adminuser(request): c = {} c.update(csrf(request)) if request.method == 'POST': username = request.POST["username"] password = request.POST["password"] if username == "" or password == "": messages.warning(request, "please input you username and password") else: count = AdminUser.objects.filter(username=username).count() if count > 0: messages.warning(request, "username is exist") else: u = AdminUser() u.username = username u.email = request.POST["email"] u.make_password(password) u.realname = request.POST["realname"] u.mobile = request.POST["mobile"] u.isactive = 0 u.save() ur = AdminUser.objects.get(pk=u.id) role_ids = request.POST.getlist("roleIds", []) if role_ids is not None: for roleid in role_ids: r = Role.objects.get(pk=roleid) ur.role.add(r) return redirect("adminuser.list") c['roles'] = Role.objects.all() return render_to_response("adminuser/add_adminuser.html", c, context_instance=RequestContext(request))
def rebuild_database(): db.drop_all() db.create_all() household = Household( name='Barcelona-001', number_of_members='5', region='Region IV-A', province='Quezon', city='Lucena', barangay='Ilayang Iyam', address='12 Zamora St. Ciudad Maharlika, Ilayang Iyam, Lucena City', cluster='2011334281', contact='09159484200', status='Green', remarks='') household1 = Household(name='Barcelona-002', number_of_members=3, region='Region IV-A', province='Quezon', city='Lucena', barangay='Isabang', address='Barcelona Compound, Lucena City', cluster='2011334281', contact='09159484200', status='Green', remarks='') household2 = Household(name='Armamento-001', number_of_members=3, region='Region IV-A', province='Quezon', city='Lucena', barangay='Gulang Gulang', address='Capistrano Subdivision, Lucena City', cluster='2011334282', contact='09159484200', status='Green', remarks='') image = HouseholdImage( household_id=1, path='../static/images/households/test_household.jpg') image1 = HouseholdImage( household_id=2, path='../static/images/households/test_household1.jpg') image2 = HouseholdImage( household_id=3, path='../static/images/households/test_household2.jpg') citizen1 = Citizen(last_name='Barcelona', first_name='Jasper Oliver', middle_name='Estrada', gender='Male', age=23, birthday='June 11, 1994', employment_status='Employed', occupation='Chief Executive Officer', company='Pisara', email='*****@*****.**', citizenship='Filipino', religion='Roman Catholic', civil_status='Single', msisdn='09159484200', household_id=1, household_name='Barcelona-001', position='Child', status='Green', remarks='') citizen2 = Citizen(last_name='Barcelona', first_name='Flora', middle_name='Estrada', gender='Female', age=63, birthday='May 29, 1953', employment_status='Retired', occupation='Government Health Worker', company='City Health Office', email='N/A', citizenship='Filipino', religion='Roman Catholic', civil_status='Widowed', msisdn='09159484200', household_id=1, household_name='Barcelona-001', position='Head', status='Green', remarks='') citizen3 = Citizen(last_name='Barcelona', first_name='Ma Angelica', middle_name='Estrada', gender='Female', age=29, birthday='December 18, 1988', employment_status='Employed', occupation='Web Content Developer', company='Intercontinental Hotels Group', email='N/A', citizenship='Filipino', religion='Roman Catholic', civil_status='Single', msisdn='09159484200', household_id=1, household_name='Barcelona-001', position='Child', status='Green', remarks='') citizen4 = Citizen(last_name='Barcelona', first_name='Ma April Therese', middle_name='Estrada', gender='Female', age=34, birthday='April 26, 1986', employment_status='Employed', occupation='Technical Support', company='Direct with Hotels', email='N/A', citizenship='Filipino', religion='Roman Catholic', civil_status='Single', msisdn='09159484200', household_id=1, household_name='Barcelona-001', position='Child', status='Green', remarks='') citizen5 = Citizen(last_name='Sacristia', first_name='Rolando', middle_name='Dela Cruz', gender='Male', age=46, birthday='Augyst 08, 1976', employment_status='Employed', occupation='House Helper', company='N/A', email='N/A', citizenship='Filipino', religion='Roman Catholic', civil_status='Single', msisdn='09159484200', household_id=1, household_name='Barcelona-001', position='Resident', status='Green', remarks='') citizen6 = Citizen(last_name='Barcelona', first_name='Jadd Paolo Luigi', middle_name='Ong', gender='Male', age=29, birthday='April 14, 1986', employment_status='Employed', occupation='Chief Marketing Officer', company='Pisara', email='*****@*****.**', citizenship='Filipino', religion='Roman Catholic', civil_status='Married', msisdn='09159484200', household_id=2, household_name='Barcelona-002', position='Head', status='Green', remarks='') citizen7 = Citizen(last_name='Barcelona', first_name='Cyril Joy', middle_name='Lucero', gender='Female', age=23, birthday='April 25, 1986', employment_status='Employed', occupation='Dentist', company='Lucero Dental Clinic', email='N/A', citizenship='Filipino', religion='Roman Catholic', civil_status='Married', msisdn='09159484200', household_id=2, household_name='Barcelona-002', position='Spouse', status='Green', remarks='') citizen8 = Citizen(last_name='Barcelona', first_name='Stephen Skylar', middle_name='Lucero', gender='Male', age=1, birthday='November 15, 2017', employment_status='Unemployed', occupation='N/A', company='N/A', email='N/A', citizenship='Filipino', religion='Roman Catholic', civil_status='Single', msisdn='N/A', household_id=2, household_name='Barcelona-002', position='Spouse', status='Green', remarks='') citizen9 = Citizen(last_name='Armamento', first_name='Jan Paolo', middle_name='Calzado', gender='Male', age=23, birthday='January 23, 1994', employment_status='Employed', occupation='Chief Infrastructure Officer', company='Pisara', email='*****@*****.**', citizenship='Filipino', religion='Roman Catholic', civil_status='Married', msisdn='09159484200', household_id=3, household_name='Armamento-001', position='Head', status='Green', remarks='') citizen10 = Citizen(last_name='Armamento', first_name='Caithlin Lois', middle_name='Nicolas', gender='Female', age=23, birthday='January 23, 1994', employment_status='Unemployed', occupation='Student', company='MSEUF', email='N/A', citizenship='Filipino', religion='Roman Catholic', civil_status='Married', msisdn='09159484200', household_id=3, household_name='Armamento-001', position='Spouse', status='Green', remarks='') citizen11 = Citizen(last_name='Armamento', first_name='Coco', middle_name='Nicolas', gender='Female', age=1, birthday='January 23, 1994', employment_status='Unemployed', occupation='N/A', company='N/A', email='N/A', citizenship='Filipino', religion='Roman Catholic', civil_status='Single', msisdn='N/A', household_id=3, household_name='Armamento-001', position='Child', status='Green', remarks='') admin_user = AdminUser(email='*****@*****.**', password='******', status='Active', name="Jasper Barcelona") db.session.add(household) db.session.add(household1) db.session.add(household2) db.session.add(citizen1) db.session.add(citizen2) db.session.add(citizen3) db.session.add(citizen4) db.session.add(citizen5) db.session.add(citizen6) db.session.add(citizen7) db.session.add(citizen8) db.session.add(citizen9) db.session.add(citizen10) db.session.add(citizen11) db.session.add(image) db.session.add(image1) db.session.add(image2) db.session.add(admin_user) db.session.commit() return jsonify(status='success'), 201
def apply_admin_lists(request): apply_admins = AdminUser.objects(status="applyAdmin").only('id', 'nickname', 'realName', 'status', 'phone').all() apply_admins = json.loads(apply_admins.to_json()) map(web_id_replace, apply_admins) return render(request, 'applyAdminLists.html', {'applyAdmins': apply_admins})
def create_rido_application(configfile=None): app = Flask(__name__) AdminLTE(app) current_user = AdminUser() @app.teardown_appcontext def shutdown_session(exception=None): db_session.remove() @app.before_first_request def setup(): g_logger.info("First Time Creating Local DB") # Recreate database each time for demo Base.metadata.drop_all(bind=engine) Base.metadata.create_all(bind=engine) #db.session.add(SimulationTask('First')) #db.session.add(SimulationTask('Second')) db_session.commit() g_logger.info('DB Created ') @app.route('/') def index(): sim = db_session.query(SimulationTask).first() g_logger.debug('---> {}'.format(sim)) try: if not sim == None: if sim.status == 'DONE': data = dict() results = db_session.query(ResultsPerDay).all() #We stored database per day #inorder to get total we sum driver_cost, car_cost, customer_profit sumdrv, sumcar, sumcus = db_session.query( func.sum(ResultsPerDay.driver_cost), func.sum(ResultsPerDay.car_cost), func.sum(ResultsPerDay.customer_profit)).first() data['investment'] = sim.total_investment data['drivercost'] = "{0:.2f}".format(sumdrv) data['carcost'] = "{0:.2f}".format(sumcar) investment = sim.total_investment profit = (investment + sumcus) - (sumdrv + sumcar) g_logger.debug('--> Profit {} '.format(profit)) g_logger.debug( '--> Total investment{} '.format(investment)) g_logger.debug('--> Customer income{}'.format(sumcus)) g_logger.debug('---> Driver Expense {}'.format(sumdrv)) g_logger.debug('---> Car Expense {}'.format(sumcar)) data['profit'] = "{0:.2f}".format(profit) data['customer_income'] = "{0:.2f}".format(sumcus) #prepare Chart Data labels = [] dcost = [] ccost = [] for x in results: labels += [int(x.id)] dcost += [x.driver_cost] ccost += [x.car_cost / 100] cdata = [dcost, ccost] g_logger.debug('----> {}'.format(labels)) g_logger.debug('----> {}'.format(cdata)) return render_template('index.html', current_user=current_user, results=data, chartlabel=labels, chartdata=cdata, profit=profit, carexpenses=sumcar, driverexpenses=sumdrv, nodays=sim.no_of_days) else: return render_template('lockscreen.html', current_user=current_user) else: return render_template('lockscreen.html', current_user=current_user) except Exception as e: print_exception() return render_template('lockscreen.html', current_user=current_user) @app.route('/input') def input(): return render_template('input.html', current_user=current_user) @app.route('/simulation', methods=['POST']) def simulation(): global task_future if task_future == None or task_future.running() != True: if request.method == 'POST': try: data = request.form # a multidict containing POST data task_future = executor.submit(run_long_task, data) return jsonify(response=200, Status="success") except Exception as e: print_exception() return jsonify(response=400, Statis="exception") else: return jsonify(response=400, Status="reject") return app