def create_recipient(): conn, cur = get_sql() if request.method == "POST": lid = request.form.get("list_id") first_name = request.form["new_first_name"] last_name = request.form["new_last_name"] email = request.form["new_email"] cur.execute( """SELECT * FROM recipients WHERE email = '%s'""" % email ) res = cur.fetchall() if not res: try: cur.execute( """INSERT INTO recipients(first_name, last_name, email, list_ids) VALUES (%s,%s,%s,%s) """, (first_name, last_name, email, lid + ","), ) conn.commit() except Exception, e: print(e) conn.rollback()
def remove(): conn, cur = get_sql() if request.method == "POST": lid = request.form.get("list_id") cur.execute( """SELECT id, list_ids FROM recipients WHERE email = '%s'""" % email ) res = cur.fetchall() for i in res: recip_id = i[0] new_list_ids = [_id.encode("utf8") for _id in i[1].split(",") if _id != lid] if len(new_list_ids) > 0: new_list_ids = ",".join(["%s"] * len(new_list_ids)) else: new_list_ids = "0" try: cur.execute( """UPDATE recipients SET list_ids=%s WHERE id = %s""", (new_list_ids, recip_id), ) conn.commit() except Exception, e: print(e) conn.rollback()
def remove(): conn, cur = get_sql() if request.method == 'POST': lid = request.form.get('list_id') cur.execute("""SELECT id, list_ids FROM recipients WHERE email = '%s'""" % email) res = cur.fetchall() for i in res: recip_id = i[0] new_list_ids = [_id.encode('utf8') for _id in i[1].split(',') if _id != lid] if len(new_list_ids) > 0: new_list_ids = ','.join(['%s'] * len(new_list_ids)) else: new_list_ids = '0' try: cur.execute("""UPDATE recipients SET list_ids=%s WHERE id = %s""", (new_list_ids, recip_id)) conn.commit() except Exception, e: print(e) conn.rollback()
def add_to_campaign(): conn, cur = get_sql() if request.method == "GET": nid = request.args.get("id") lid = request.args.get("lid") if nid: newsletter = Newsletter(conn, cur, nid) current_lists = newsletter.list_ids if current_lists[0] == "0": new_lists = lid elif len(current_lists) == 1: new_lists = "%s,%s" % (current_lists[0], lid) print new_lists else: print current_lists current_lists = ",".join(current_lists) new_lists = ",".join((current_lists, lid)) try: cur.execute( """UPDATE newsletters SET list_ids=%s WHERE id = %s """, (new_lists, nid), ) conn.commit() except Exception as e: print (e) conn.rollback() return redirect(url_for("lists.index", nid=nid)) return redirect(url_for("lists.index"))
def create_recipient(): conn, cur = get_sql() if request.method == 'POST': lid = request.form.get('list_id') first_name = request.form['new_first_name'] last_name = request.form['new_last_name'] email = request.form['new_email'] cur.execute("""SELECT * FROM recipients WHERE email = '%s'""" % email) res = cur.fetchall() if not res: try: cur.execute("""INSERT INTO recipients(first_name, last_name, email, list_ids) VALUES (%s,%s,%s,%s) """, ( first_name, last_name, email, lid + ',' ) ) conn.commit() except Exception, e: print(e) conn.rollback()
def edit(page=0): conn, cur = get_sql() if request.method == "GET": nid = request.args.get("nid") lid = request.args.get("lid") lst = List(conn, cur, lid).record recips = get_recip_index(page=page, list_id=lid) return render_template("lists/details.html", nid=nid, lid=lid, lst=lst, recips=recips, page=page) if request.method == "POST": try: cur.execute( """UPDATE lists SET name=%s, description=%s WHERE id = %s """, (request.form["name"], request.form["description"], _id), ) conn.commit() except Exception as e: print (e) conn.rollback() return redirect(url_for("lists.index")) lst = List(conn, cur, _id) recips = lst.get_recips()
def remove_from_campaign(): conn, cur = get_sql() if request.method == "GET": nid = request.args.get("id") lid = request.args.get("lid") newsletter = Newsletter(conn, cur, nid) current_lists = newsletter.list_ids if len(current_lists) == 1: new_lists = "0" else: new_lists = current_lists.remove(lid) new_lists = ",".join(current_lists) try: cur.execute( """UPDATE newsletters SET list_ids=%s WHERE id = %s """, (new_lists, nid), ) conn.commit() except Exception as e: print (e) conn.rollback() return redirect(url_for("lists.index", nid=nid)) return redirect(url_for("lists.index"))
def create(): form_errors = None conn, cur = get_sql() if request.method == 'POST': for k,v in request.form.iteritems(): print k,v form_errors = collect_form_errors(request.form) if not len(form_errors) > 1: form_items = {} for k, v in request.form.iteritems(): print "key = {} value = {}".format(k,v) if (k == 'editor1'): form_items['html'] = request.form[k] elif (k == 'file'): form_items['preview'] = request.form[k] elif (v != ''): form_items[k] = v form_items['author'] = session.get('current_user') form_items['date_added'] = int(time()) tid = insert_row('template', form_items, conn, cur) if not tid: return render_template('server_error.html') return redirect(url_for('templates.edit', tid=tid)) return render_template('templates/details.html', form_errors=form_errors)
def delete(): if request.method == 'GET': nid = request.args.get('nid') conn, cur = get_sql() cur.execute('DELETE FROM newsletter WHERE newsletter_id = %s' % nid) conn.commit() return redirect(url_for('index')) # @mod.route('/search_campigns/') # @login_required # def search(): # conn, cur = get_sql() # if request.method == 'POST': # for k, v in request.form.iteritems(): # print k, v # return render_template('newsletters/search.html')
def create(): form_errors = None conn, cur = get_sql() if request.method == "POST": form_errors = collect_form_errors(request.form) if not form_errors: form_items = {} for k, v in request.form.iteritems(): if v != "": form_items[k] = v form_items["author"] = session.get("current_user") form_items["date_added"] = int(time()) lid = insert_row("list", form_items, conn, cur) if not lid: return render_template("server_error.html") return redirect(url_for("lists.edit", lid=lid)) return render_template("lists/details.html", form_errors=form_errors, editing=False)
def delete(tid): if request.method == 'GET': conn, cur = get_sql() cur.execute('DELETE FROM template WHERE template_id = %s' % tid) conn.commit() return redirect(url_for('templates.index')) # @mod.route('/create_template', methods=['GET', 'POST']) # @login_required # def create_template(): # '''Create a new template''' # errors = None # conn, cur = get_sql() # if request_method == 'POST': # errors = collect_form_errors(request.form, 'campaigns') # if not errors: # try: # cur.execute("""INSERT INTO newsletters(code, name, author, # company, from_name, from_email, replyto_email, # date_added, date_sent, priority, unsub) # VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) # """, ( # request.form.get('code'), # request.form.get('subject'), # session.get('current_user'), # request.form.get('company'), # request.form.get('from_name'), # request.form.get('from_email'), # request.form.get('replyto_email'), # int(time.time()), # 0, # request.form.get('priority'), # request.form.get('unsub', 0), # ) # ) # conn.commit() # cur.execute('SELECT last_insert_id()') # nid = cur.fetchall()[0][0] # except Exception, err: # conn.rollback() # return render_template('error.html', error=err) # return redirect(url_for('subscribers.index', nid=nid)) # return render_template('campaigns/details.html', companies=companies, # staff=staff, errors=errors, editing=False)
def create(): form_errors = None conn, cur = get_sql() companies = get_companies(conn, cur) staff = get_staff(conn, cur) if request.method == 'POST': form_errors = collect_form_errors(request.form) if not form_errors: form_items = {} for k, v in request.form.iteritems(): if (v != '' and k[len(k) - 3:] != 'sel'): form_items[k] = v form_items['author'] = session.get('current_user') form_items['date_added'] = int(time()) nid = insert_row('newsletter', form_items, conn, cur) if not nid: return render_template('server_error.html') return redirect(url_for('lists.index', nid=nid)) return render_template('newsletters/details.html', companies=companies, staff=staff, form_errors=form_errors)
def edit(): form_errors = None conn, cur = get_sql() companies = get_companies(conn, cur) staff = get_staff(conn, cur) # for k,v in request.args.iteritems(): # print k,v if request.method == 'GET': nid = request.args.get('nid') cur.execute('SELECT * FROM `newsletter` WHERE newsletter_id = %d' % int(nid)) res = cur.fetchone() if res: cols = tuple([d[0].decode('utf8') for d in cur.description]) newsletter = dict(zip(cols, res)) company_name = cur.execute("""SELECT name FROM company WHERE company_id = %d""" % int(newsletter['company'])) comp_name = cur.fetchone()[0] newsletter['company'] = (newsletter['company'], comp_name) return render_template('newsletters/details.html', newsletter=newsletter, staff=staff, companies=companies, nid=nid) return render_template('404.html') if request.method == 'POST': nid = request.args.get('nid') form_errors = collect_form_errors(request.form) if not form_errors: form_items = {} for k, v in request.form.iteritems(): if (v != '' and k[len(k) - 3:] != 'sel'): form_items[k] = v form_items['date_added'] = int(time()) nid = update_row('newsletter', form_items, conn, cur, nid) if not nid: return render_template('server_error.html') return redirect(url_for('lists.index', nid=nid)) return render_template('newsletters/details.html', newsletter=newsletter, staff=staff, companies=companies, nid=nid, form_errors=form_errors)
def delete(lid): if request.method == "GET": conn, cur = get_sql() cur.execute("DELETE FROM list WHERE list_id = %s" % lid) conn.commit() return redirect(url_for("lists.index"))
def edit(): conn, cur = get_sql() if request.method == 'GET': tid = request.args.get('tid') tmplt = Template(conn, cur, tid).record return render_template('templates/details.html', tid=tid, tmplt=tmplt)