def details(id): current_list = List.query.get(id) if not current_list: msg = "List '%s' not found" % id logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Details', e_resp="Error", e_resp_msg=msg)) flash(msg, 'error') return redirect("/lists") logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Properties', e_resp="OK", e_resp_msg="")) return render_template('lists/lists.details.html', title='%s Details' % current_list.name, current_list=current_list, country_list=forms.create_country_dict())
def replicate_campaign(id): campaign = Campaign.query.filter( and_(Campaign.brand_id == g.current_brand.id, Campaign.id == id)).first() if not campaign: msg = 'Campaign not found' flash(msg, 'error') logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Schedule', e_resp="Error", e_resp_msg=msg)) return redirect(request.referrer) status, response = camp.replicate_campaign(campaign, g.user) if not status: msg = response flash(msg, 'error') logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Schedule', e_resp="Error", e_resp_msg=msg)) return redirect(request.referrer) flash('campaign has been replicated and new campaign has been saved') return redirect('/campaigns')
def new_template_category(): if request.method == "GET": return _render_properties_form({}, "template_categories", "New Template Category", "new") else: if 'template_categories_name' not in request.form: msg = 'Missing Field "Name"' logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Create', e_resp="Error", e_resp_msg=msg)) flash(msg, 'error') return _render_properties_form(request.form, "template_categories", "New Template Category", "new") if tmpl.template_category_exists( g.current_brand.id, request.form['template_categories_name']): msg = 'Category with name "%s" already exists' % request.form[ 'template_categories_name'] logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Create', e_resp="Error", e_resp_msg=msg)) flash(msg, 'error') return _render_properties_form(request.form, "template_categories", "New Template Category", "new") status, response = tmpl.add_template_category( g.current_brand.id, request.form['template_categories_name'], g.current_folder.id, g.user.id) if not status: msg = response logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Create', e_resp="Error", e_resp_msg=msg)) flash(msg, 'error') return _render_properties_form(request.form, "template_categories", "New Template Category", "new") flash('Template Category added', 'info') return redirect('/template_categories')
def delete_tool_group(tool_group_id): tool_group_item = ToolGroup.query.get(tool_group_id) if tool_group_item.tools.count() > 0: msg="Tool group %s cannot be deleted because it contains tools" % tool_group_item.name flash(msg, "error") logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Delete', e_resp="Error", e_resp_msg=msg)) else: db.session.delete(tool_group_item) db.session.commit() msg='Tool group %s deleted' % tool_group_item.name logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Delete', e_resp="OK", e_resp_msg=msg)) flash(msg, "message") return redirect(url_for("tools.tools_home"))
def toggle_status_group(tool_group_id): tool_group_item = ToolGroup.query.get(tool_group_id) if tool_group_item != None: tool_group_item.status = abs(tool_group_item.status - 1) db.session.commit() msg = 'Tool Group %s updated' % (tool_group_item.name) flash(msg, "message") logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Update', e_resp="OK", e_resp_msg=msg)) else: msg = 'Tool Group with ID %s doesn\'t exist' % tool_group_id logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Update', e_resp="Error", e_resp_msg=msg)) flash(msg, "error") return redirect(url_for("tools.tools_home"))
def delete_user(user_id): user = User.query.get(user_id) if user != None: db.session.delete(user) db.session.commit() msg = "User deleted" flash(msg, "message") logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Delete', e_resp="OK", e_resp_msg=msg)) else: msg = 'User with ID %s doesn\'t exist' % user_id flash(msg, "error") logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Delete', e_resp="Error", e_resp_msg=msg)) return redirect(url_for("users.users_home"))
def delete_tool(tool_id): tool_item = Tool.query.get(tool_id) if tool_item.brands.count() > 0: msg="Tool %s cannot be deleted because brands are associated with it" % tool_item.name logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Delete', e_resp="Error", e_resp_msg=msg)) flash(msg, "error") else: db.session.delete(tool_item) db.session.commit() msg = 'Tool %s deleted' % tool_item.name logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Delete', e_resp="OK", e_resp_msg=msg)) flash(msg, "message") return redirect(url_for("tools.tools_home"))
def delete_ip(mid, ip_id): ip_address = BrandIP.query.get(ip_id) if ip_address != None: db.session.delete(ip_address) db.session.commit() msg = "IP deleted" flash(msg, "message") logf.AddLog(Log(brand_item.id, g.current_tool.id, g.user.id, request.path, op='Delete', e_resp='OK', e_resp_msg=msg)) else: msg = "IP does not exist" logf.AddLog(Log(brand_item.id, g.current_tool.id, g.user.id, request.path, op='Delete', e_resp='OK', e_resp_msg=msg)) flash(msg, "error") return redirect(url_for("brands.show_edit_brand", mid=mid))
def toggle_status(brand_id): brand_item = Brand.query.get(brand_id) if brand_item != None: brand_item.status = abs(brand_item.status - 1) db.session.commit() msg ='Brand %s (%s) updated' % (brand_item.client, brand_item.mid) logf.AddLog(Log(brand_item.id, g.current_tool.id, g.user.id, request.path, op='Update', e_resp='OK', e_resp_msg=msg)) flash(msg, "message") else: msg = 'Brand with ID %s doesn\'t exist' % brand_id logf.AddLog(Log(brand_item.id, g.current_tool.id, g.user.id, request.path, op='Update', e_resp='Error', e_resp_msg=msg)) flash(msg, "error") return redirect(url_for("brands.brand_home"))
def toggle_status(user_id): user_item = User.query.get(user_id) if user_item != None: user_item.status = abs(user_item.status - 1) db.session.commit() msg = 'User %s updated' % (user_item.name) logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Update', e_resp="OK", e_resp_msg=msg)) flash(msg, "message") else: msg = 'User with ID %s doesn\'t exist' % user_id flash(msg, "error") logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Update', e_resp="Error", e_resp_msg=msg)) return redirect(url_for("users.users_home"))
def unschedule_variate(id): variate = VariateCampaign.query.filter( and_(VariateCampaign.brand_id == g.current_brand.id, VariateCampaign.id == id)).first() if not variate: msg = 'A/B Test not found' flash(msg, 'error') logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Schedule', e_resp="Error", e_resp_msg=msg)) return redirect(request.referrer) variate.schedule_time = None variate.status = 'save' status, response = camp.unschedule_campaign(variate) if not status: msg = response flash(msg, 'error') logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Unschedule', e_resp="Error", e_resp_msg=msg)) return redirect(request.referrer) status, response = camp.save_campaign('update', variate, g.user) if not status: msg = response flash(msg, 'error') logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op="Unschedule", e_resp="Error", e_resp_msg=msg)) return redirect(request.referrer) flash('A/B Test schedule has been cancelled', 'info') return redirect('/ab_tests')
def show_edit_tool(tool_id): tool_item = Tool.query.get(tool_id) tool_groups = ToolGroup.query.order_by(ToolGroup.name).all() if request.method == 'GET': return render_template('admin/tools/admin.tools.edit.html', title=tool_item.name, show_help=0, groups=tool_groups, tool=tool_item) if request.form['form'] == "tool": tool_item.name = request.form['name'] tool_item.description = request.form['description'] tool_item.rank = request.form['rank'] tool_item.group_id = request.form['group_id'] tool_item.home_route = request.form['home_route'] if 'is_admin' in request.form: tool_item.is_admin = 1 else: tool_item.is_admin = 0 if request.form['alias'] != '': tool_item.alias = request.form['alias'] else: tool_item.alias = f.GenerateAlias(tool_item.name) tool_item.updated_by = g.user.username tool_item.updated = datetime.datetime.now() db.session.commit() msg="Tool %s updated" % tool_item.name flash(msg, "message") logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Update', e_resp="OK", e_resp_msg=msg)) return redirect(url_for("tools.tools_home")) elif request.form['form'] == "setting": key = request.form['key'] value = request.form['value'] tool_id = request.form['tool_id'] if ToolSetting.query.filter_by(key=key,tool_id=tool_id).count() == 0: new_setting = ToolSetting(key, value) new_setting.tool_id = tool_id new_setting.created_by = g.user.username new_setting.updated_by = g.user.username db.session.add(new_setting) db.session.commit() msg = 'Setting "%s" added' % key logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Create', e_resp="OK", e_resp_msg=msg)) flash(msg, "message") else: msg='Setting with key "%s" already exists' % key logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Create', e_resp="Error", e_resp_msg=msg)) flash(msg, "error") t_id = int(tool_id) return redirect(url_for("tools.show_edit_tool", tool_id=t_id))
def unschedule_campaign(id): campaign = Campaign.query.filter( and_(Campaign.brand_id == g.current_brand.id, Campaign.id == id)).first() if not campaign: msg = 'Campaign not found' flash(msg, 'error') logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Schedule', e_resp="Error", e_resp_msg=msg)) return redirect(request.referrer) campaign.schedule_time = None campaign.status = 'save' status, response = camp.unschedule_campaign(campaign) if not status: msg = response flash(msg, 'error') logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Unschedule', e_resp="Error", e_resp_msg=msg)) return redirect(request.referrer) status, response = camp.save_campaign('update', campaign, g.user) if not status: msg = response flash(msg, 'error') logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op="Unschedule", e_resp="Error", e_resp_msg=msg)) return redirect(request.referrer) flash('campaign schedule has been cancelled', 'info') return redirect('/campaigns')
def forms(page=1): query = Form.query.filter(Form.folder_id == g.current_folder.id) r = request.args.get('r') q = request.args.get('q') if not r: if 'r' in session: r = int(session['r']) else: r = DEFAULT_LIST_LENGTH session['r'] = r else: r = int(r) session['r'] = r if r != 0: pages = query.count() / r; if q: forms = query.filter(Form.name.like('%%%s%%' % q)).order_by(Form.name).paginate(page, r, False).items else: forms = query.order_by(Form.name).paginate(page,r,False).items else: pages = 0 if q: forms = query.filter(Form.name.like('%%%s%%' % q)).order_by(Form.name).all() else: forms = query.order_by(Form.name).all() logf.AddLog(Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Retrieve', rows=len(forms))) return render_template('forms/forms.default.html', title="All Form", forms=forms, pages=pages, current_page=page)
def template_categories(page=1): query = TemplateCategory.query.filter( TemplateCategory.folder_id == g.current_folder.id) r = request.args.get('r') if not r: if 'r' in session: r = int(session['r']) else: r = DEFAULT_LIST_LENGTH session['r'] = r else: r = int(r) session['r'] = r if r != 0: pages = query.count() / r template_categories = query.paginate(page, r, False).items else: pages = 0 template_categories = query.all() logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Retrieve', rows=len(template_categories))) return render_template( 'template_categories/template_categories.default.html', title="Templates", template_categories=template_categories, pages=pages, current_page=page)
def emails(page=1): query = Email.query.filter(Email.folder_id == g.current_folder.id) r = request.args.get('r') if not r: if 'r' in session: r = int(session['r']) else: r = DEFAULT_LIST_LENGTH session['r'] = r else: r = int(r) session['r'] = r if r != 0: pages = query.count() / r emails = query.paginate(page, r, False).items else: pages = 0 emails = query.all() logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Retrieve', rows=len(emails))) return render_template('emails/emails.default.html', title="All Email", emails=emails, pages=pages, current_page=page)
def tools_home(page=1): tools = Tool.query r = request.args.get('r') q = request.args.get('q') if not r: if 'r' in session: r = int(session['r']) else: r = DEFAULT_LIST_LENGTH session['r'] = r else: r = int(r) session['r'] = r if r != 0: pages = tools.count() / r; if q: tools = tools.filter(Tool.name.like('%%%s%%' % q)).order_by(Tool.name).paginate(page, r, False).items else: tools = tools.order_by(Tool.name).paginate(page,r,False).items else: pages = 0 if q: tools = tools.filter(Tool.name.like('%%%s%%' % q)).order_by(Tool.name).all() else: tools = tools.order_by(Tool.name).all() #tool_groups = ToolGroup.query.order_by(ToolGroup.name).all() logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Retrieve', rows=len(tools))) return render_template("admin/tools/admin.tools.html", tools=tools, title='Manage Tools', show_help=0, pages=pages, current_page=page, rows=r, q=q)
def file_locations(page=1): query = FileLocation.query r = request.args.get('r') q = request.args.get('q') if not q: q = ""; if not r: if 'r' in session: r = int(session['r']) else: r = DEFAULT_LIST_LENGTH session['r'] = r else: r = int(r) session['r'] = r if r != 0: pages = query.count() / r; if q: file_locations = query.filter(FileLocation.name.like('%%%s%%' % q)).order_by(FileLocation.name).paginate(page, r, False).items else: file_locations = query.order_by(FileLocation.name).paginate(page,r,False).items else: pages = 0 if q: file_locations = query.filter(FileLocation.name.like('%%%s%%' % q)).order_by(FileLocation.name).all() else: file_locations = query.order_by(FileLocation.name).all() file_locations_list = [] for file_location in file_locations: brand = brands.brand_by_id(file_location.brand_id) file_locations_list.append({'FL': file_location, 'Brand': brand}) logf.AddLog(Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Retrieve', rows=len(file_locations))) return render_template('file_locations/file_locations.default.html', title="All File Locations", file_locations=file_locations_list, pages=pages, current_page=page, rows=r, q=q)
def tracking_index(type="campaigns", page=1): query = TrackedCampaign.query.filter( and_(TrackedCampaign.folder_id == g.current_folder.id, TrackedCampaign.type == type)) r = request.args.get('r') if not r: if 'r' in session: r = int(session['r']) else: r = DEFAULT_LIST_LENGTH session['r'] = r else: r = int(r) session['r'] = r if r != 0: pages = query.count() / r campaign_tracking = query.paginate(page, r, False).items else: pages = 0 campaign_tracking = query.all() logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Retrieve', rows=len(campaign_tracking))) return render_template('tracking/tracking.%s.default.html' % type, title="All %s Tracking" % type.title().replace('_', '/'), campaign_tracking=campaign_tracking, pages=pages, current_page=page)
def users_home(page=1): all_users = User.query r = request.args.get('r') q = request.args.get('q') if not r: if 'r' in session: r = int(session['r']) else: r = DEFAULT_LIST_LENGTH session['r'] = r else: r = int(r) session['r'] = r if r != 0: pages = all_users.count() / r; if q: all_users = all_users.filter(or_(User.name.like('%%%s%%' % q), User.email.like('%%%s%%' % q), User.username.like('%%%s%%' % q))).order_by(User.name).paginate(page, r, False).items else: all_users = all_users.order_by(User.name).paginate(page,r,False).items else: pages = 0 if q: all_users = all_users.filter(or_(User.name.like('%%%s%%' % q), User.email.like('%%%s%%' % q), User.username.like('%%%s%%' % q))).order_by(User.name).all() else: all_users = all_users.order_by(User.name).all() #all_users = User.query.order_by(User.username.asc()).all() logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Retrieve', rows=len(all_users))) return render_template("admin/users/admin.users.html", title='Manage Users', show_help=0, users=all_users, pages=pages, current_page=page, rows=r, q=q)
def brand_home(page=1): all_brands = Brand.query r = request.args.get('r') q = request.args.get('q') if not r: if 'r' in session: r = int(session['r']) else: r = DEFAULT_LIST_LENGTH session['r'] = r else: r = int(r) session['r'] = r if r != 0: pages = all_brands.count() / r; if q: all_brands = all_brands.filter(Brand.client.like('%%%s%%' % q)).order_by(Brand.client).paginate(page, r, False).items else: all_brands = all_brands.order_by(Brand.client).paginate(page,r,False).items else: pages = 0 if q: all_brands = all_brands.filter(Brand.client.like('%%%s%%' % q)).order_by(Brand.client).all() else: all_brands = all_brands.order_by(Brand.client).all() logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Retrieve', e_resp='OK', rows=len(all_brands))) return render_template('admin/brands/admin.brands.html', title='All Brands', show_help=0, brands=all_brands, pages=pages, current_page=page, rows=r, q=q)
def campaigns(page=1): query = Campaign.query.filter( and_(Campaign.type != 'variate', Campaign.folder_id == g.current_folder.id, Campaign.is_user_initiated == False, Campaign.is_rtm == False)) r = request.args.get('r') if not r: if 'r' in session: r = int(session['r']) else: r = DEFAULT_LIST_LENGTH session['r'] = r else: r = int(r) session['r'] = r if r != 0: pages = query.count() / r campaigns = query.paginate(page, r, False).items else: pages = 0 campaigns = query.all() logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Retrieve', rows=len(campaigns))) return render_template('campaigns/campaigns.default.html', title="All campaign", campaigns=campaigns, pages=pages, current_page=page)
def ab_tests(page=1): query = VariateCampaign.query.filter( VariateCampaign.folder_id == g.current_folder.id) r = request.args.get('r') if not r: if 'r' in session: r = int(session['r']) else: r = DEFAULT_LIST_LENGTH session['r'] = r else: r = int(r) session['r'] = r if r != 0: pages = query.count() / r ab_tests = query.paginate(page, r, False).items else: pages = 0 ab_tests = query.all() logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Retrieve', rows=len(ab_tests))) return render_template('ab_tests/ab_tests.default.html', title="All A/B Tests", ab_tests=ab_tests, pages=pages, current_page=page)
def delete_setting(tool_id, setting_id): setting = ToolSetting.query.get(setting_id) db.session.delete(setting) db.session.commit() msg = 'Setting deleted' flash(msg) logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Delete', e_resp="OK", e_resp_msg=msg)) return redirect(url_for("tools.show_edit_tool", tool_id=int(tool_id)))
def file_location_details(id=None): file_location = FileLocation() file_location.name = "" mode = "new" mode_title = "New File Location" log_op = 'Create' brand_list = brands.all_brands() if id != None: file_location = FileLocation.query.get(id) if not file_location: msg = 'File Location not found' flash(msg, 'error') logf.AddLog(Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Update', e_resp="Error", e_resp_msg=msg)) return redirect('/admin/file_locations') mode = "update" mode_title = file_location.name log_op = 'Update' if request.method == 'GET': return render_template('file_locations/file_locations.properties.html', title=mode_title, update_type=mode, file_location=file_location, brands=brand_list) status, msg, file_location = fl.request_to_file_location(file_location, request.form) if not status: flash(msg, 'error') logf.AddLog(Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op=log_op, e_resp='Error', e_resp_msg=msg)) return render_template('file_locations/file_locations.properties.html', title=mode_title, update_type=mode, file_location=file_location, brands=brand_list) status, msg = fl.save_file_location(mode, file_location, g.user) if status: flash(msg, "message") logf.AddLog(Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op=log_op, e_resp='OK', e_resp_msg=msg)) return redirect('/admin/file_locations') else: flash(msg, "error") logf.AddLog(Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op=log_op, e_resp='Error', e_resp_msg=msg)) return render_template('file_locations/file_locations.properties.html', title=mode_title, update_type=mode, file_location=file_location, brands=brand_list)
def system_jobs(page=1): query = SystemJob.query r = request.args.get('r') q = request.args.get('q') if not r: if 'r' in session: r = int(session['r']) else: r = DEFAULT_LIST_LENGTH session['r'] = r else: r = int(r) session['r'] = r if r != 0: pages = query.count() / r; system_jobs = query.order_by(SystemJob.start_date.desc()).paginate(page,r,False).items else: pages = 0 system_jobs = query.order_by(SystemJob.start_date.desc()).all() jobs_list = [] for job in system_jobs: brand = brands.brand_by_id(job.brand_id) if not brand: continue if not q or q in brand.client: if job.activity_type == 'imports': import_def = act.get_import_definition(job.activity_id) if not import_def: continue name = import_def.name elif job.activity_type == 'exports': export_def = act.get_export_definition(job.activity_id) if not export_def: continue name = export_def.name elif job.activity_type == 'tracking_exports': tracking_export_def = act.get_tracking_export_definition(job.activity_id) if not tracking_export_def: continue name = tracking_export_def.name elif job.activity_type == "file_transfers": name = "File Transfer %s" % job.activity_id else: name = '%s %s' % (inflection.titleize(job.activity_type), job.activity_id) if not q or q in name: jobs_list.append({'Name': name, 'Brand': brand.client, 'Type': inflection.titleize(job.activity_type), 'Job': job}) logf.AddLog(Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Retrieve', rows=len(system_jobs))) return render_template('system_jobs/system_jobs.default.html', title="All System Jobs", system_jobs=jobs_list, pages=pages, current_page=page, rows=r, q=q)
def new_brand(): all_tools = Tool.query.filter(Tool.status == 1).order_by(Tool.name.asc()).all() if request.method == 'POST': try: mid = request.form['mid'] if Brand.query.filter_by(mid=mid).count() == 0: new_brand = Brand() new_brand.mid = request.form['mid'] new_brand.client = request.form['client_name'] new_brand.api_user = request.form['api_user'] new_brand.api_key = request.form['api_key'] new_brand.api_dc = request.form['api_dc'] if 'status' in request.form: new_brand.status = 1 else: new_brand.status = 0 new_brand.created_by = g.user.username new_brand.updated_by = g.user.username if 'brand_tool' in request.form: for tool in request.form.getlist('brand_tool'): new_brand.tools.append(Tool.query.get(tool)) db.session.add(new_brand) db.session.commit() msg = "Brand %s (%s) added" % (new_brand.client, mid) flash(msg, "message") logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Create', e_resp='OK', e_resp_msg=msg)) return redirect(url_for("brands.brand_home")) else: msg = "Brand with MID %s already exists" % mid logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Create', e_resp='Error', e_resp_msg=msg)) flash(msg, "error") except Exception as e: flash(str(e), "error") return render_template("admin/brands/admin.brands.new.html", tools=all_tools, title="New Brand",show_help=0)
def imports(page=1): query = ImportDefinition.query.filter( and_(ImportDefinition.folder_id == g.current_folder.id, ImportDefinition.system_definition == False, ImportDefinition.brand_id == g.current_brand.id)) r = request.args.get('r') q = request.args.get('q') if not q: q = "" if not r: if 'r' in session: r = int(session['r']) else: r = DEFAULT_LIST_LENGTH session['r'] = r else: r = int(r) session['r'] = r if r != 0: pages = query.count() / r if q: imports = query.filter(ImportDefinition.name.like( '%%%s%%' % q)).order_by(ImportDefinition.name).paginate( page, r, False).items else: imports = query.order_by(ImportDefinition.name).paginate( page, r, False).items else: pages = 0 if q: imports = query.filter(ImportDefinition.name.like( '%%%s%%' % q)).order_by(ImportDefinition.name).all() else: imports = query.order_by(ImportDefinition.name).all() logf.AddLog( Log(g.current_brand.id, g.current_tool.id, g.user.id, request.path, op='Retrieve', rows=len(imports))) return render_template('imports/imports.default.html', title="All Import", imports=imports, pages=pages, current_page=page, rows=r, q=q)
def new_user(): all_brands = Brand.query.filter(Brand.status == 1).order_by(Brand.client.asc()).all() msg = "" if request.method == 'POST': if User.query.filter_by(email=request.form['email']).count() > 0: msg = 'User with email %s already exists' % request.form['email'] flash(msg, "error") elif User.query.filter_by(username=request.form['username']).count() > 0: msg = 'User with username %s already exists' % request.form['username'] flash(msg, "error") else: user = User() user.name = request.form['name'] user.email = request.form['email'] user.username = request.form['username'] user.password = md5.new(request.form['password']).hexdigest() #print request.form if 'status' in request.form: user.status = 1 else: user.status = 0 user.created_by = g.user.username user.updated_by = g.user.username for brand in request.form.getlist('user_brand'): user.brands.append(Brand.query.get(brand)) db.session.add(user) db.session.commit() msg = "User %s added" % user.username flash (msg, "message") logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Create', e_resp="OK", e_resp_msg=msg)) return redirect(url_for("users.users_home")) if msg != "": logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Create', e_resp="Error", e_resp_msg=msg)) return render_template("admin/users/admin.users.new.html", brands=all_brands, title='New User', show_help=0)
def tool_group_new(): if request.method == 'POST': if len(ToolGroup.query.filter_by(name=request.form['name']).all()) == 0: new_tool_group = ToolGroup() new_tool_group.name = request.form['name'] new_tool_group.rank = request.form['rank'] new_tool_group.icon = request.form['icon'] if request.form['alias'] != '': new_tool_group.alias = request.form['alias'] else: new_tool_group.alias = f.GenerateAlias(new_tool_group.name) new_tool_group.created_by = g.user.username new_tool_group.updated_by = g.user.username db.session.add(new_tool_group) db.session.commit() msg = 'Tool Group %s has been created' % new_tool_group.name logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Create', e_resp="OK", e_resp_msg=msg)) flash(msg, 'message') return redirect(url_for("tools.tools_home")) else: logf.AddLog(Log(1, g.current_tool.id, g.user.id, request.path, op='Create', e_resp="Error", e_resp_msg=msg)) msg = 'Tool Group with name %s already exists' % request.form['name'] flash(msg, 'error') return render_template("admin/tools/admin.tools.groups.new.html", title='Create Tool Group', show_help=0)