def user(request, key): user = UserProfile.get(key) form = UserForm() if request.method == 'POST': if form.validate(request.form): user.user_name = request.form['user_name'] user.first_name = request.form['first_name'] user.last_name = request.form['last_name'] user.email = request.form['email'] user.newsletter_type = int(request.form['newsletter_type']) manager_key = request.form['manager'] if manager_key: manager = Manager.get(manager_key) user.manager = manager try: if request.form['activated'] == 'on': user.activated = True except: user.activated = False try: if request.form['is_admin'] == 'on': user.is_admin = True except: user.is_admin = False if request.form['password']: user.set_password(request.form['password']) else: user.put() return redirect(url_for('admin/users')) manager_ = None try: if user.manager: manager_ = user.manager except Exception: pass managers_ = list(Manager.all()) if not manager_: managers = [('', '-')] else: managers = [('', manager_)] for manager in managers_: if manager_ is None or manager.key() != manager_.key(): managers.append((manager.key(), manager)) form = UserForm( initial={ 'user_name': user.user_name, 'activated': user.activated, 'is_admin': user.is_admin, 'email': user.email, 'first_name': user.first_name, 'last_name': user.last_name, 'newsletter_type': user.newsletter_type }) form.manager.choices = managers return render_to_response( 'admin/user.html', { 'user': user, 'form': form.as_widget() })
def send_order_to_manager(request, order_key): order = Order.get(order_key) gifts = [] for gift in order.items: gifts.append(OrderItem.get(gift)) subject = render_to_string('store/order2manager_subject.html', {'order_id':order.key().id()}) subject = ''.join(subject.splitlines()) message = render_to_string('store/order2manager_body.html', {'order': order, 'gifts':gifts}) email = mail.EmailMessage() email.subject = subject email.html = message email.sender = settings.DEFAULT_MAIL_FROM try: if order.user and order.user.register_user and order.user.register_user.manager: email.to = order.user.register_user.manager.email email.send() else: managers = Manager.all() for manager in managers: email.to = manager.email email.send() except Exception: managers = Manager.all() for manager in managers: email.to = manager.email email.send() return Response("OK")
def add_user(request): form = UserForm(initial={'password':gen_password(6)}) if request.method == 'POST': if form.validate(request.form): user_name = request.form['user_name'].lower() new_user = create_new_user(user_name=user_name, password=request.form['password']) new_user.email=request.form['email'] new_user.first_name = request.form['first_name'] new_user.last_name = request.form['last_name'] manager_key = request.form['manager'] if manager_key: manager = Manager.get(manager_key) new_user.manager = manager try: new_user.newsletter_type = int(request.form['newsletter_type']) except: pass try: if request.form['activated'] == 'on': new_user.activated = True except: new_user.activated = False try: if request.form['is_admin'] == 'on': new_user.is_admin = True except: new_user.is_admin = False new_user.put() return redirect(url_for('admin/users')) return render_to_response('admin/add_user.html', {'form': form.as_widget()})
def edit_manager(request, key): manager = Manager.get(key) form = ManagerForm(manager) if request.method == 'POST': if request.form and form.validate(request.form): manager = form.save() manager.put() return redirect(url_for('admin/managers')) photo_form = ManagerPhoto() return render_to_response('admin/edit_manager.html', {'manager':manager, 'form':form.as_widget(), 'photo_form':photo_form.as_widget()})
def send_request_to_manager(request, request_key): req_request = RegistrationRequest.get(request_key) subject = render_to_string("auth5/request_2manager_subject.txt", {"id": req_request.key().id()}) subject = "".join(subject.splitlines()) message = render_to_string("auth5/request_2manager_body.txt", {"reg_request": req_request}) if req_request.manager: mail.send_mail(subject=subject, body=message, sender=settings.DEFAULT_MAIL_FROM, to=req_request.manager.email) else: managers = Manager.all() for manager in managers: mail.send_mail(subject=subject, body=message, sender=settings.DEFAULT_MAIL_FROM, to=manager.email) return Response("OK")
def preview2(request, key_id): newsletter = Newsletter2.get_by_id(key_id) gifts = [] if newsletter.gifts: gifts_split = newsletter.gifts.split(",") for gift in gifts_split: try: gift = gift.strip() obj = Gift.all().filter("uid =", gift).get() if obj: gifts.append(obj) except Exception: pass managers = [] for mgr_id in newsletter.managers: mgr = Manager.get_by_id(mgr_id) if mgr: managers.append(mgr) emails = newsletter.emails files = [] for file_key in newsletter.n_price_list: file_ = File.get(file_key) if file_: files.append(file_) return render_to_response( "postman/admin/newsletters2/preview.html", { "newsletter": newsletter, "gifts": gifts, "key_id": key_id, "files": files, "managers": managers, "emails": emails, }, )
def add_manager_photo(request): if request.method == 'POST': manager_key = request.values.get('manager_key') manager = Manager.get(manager_key) if manager is None: return redirect('/admin/managers') new_th_form = ManagerPhoto() if request.form and new_th_form.validate(request.form, request.files): if manager.photo: thumb = ThumbImage.get(manager.photo) thumb.delete() manager.photo = None thumb = new_th_form['img'] content_type = 'image/jpeg' thumb_img = ThumbImage() thumb_img.add_new_thumb(blob_img=thumb, thumb_size=(200, 200,), content_type=content_type) thumb_img.add_new_thumb(blob_img=thumb, thumb_size=(100, 100,), content_type=content_type) thumb_img.put() manager.photo = str(thumb_img.key()) manager.put() return redirect('/admin/edit_manager/%s' % manager.key()) return redirect('/admin/managers')
def index(request): managers_networks = Manager.all().filter('is_network =', True) managers_direct_sale = Manager.all().filter('is_direct_sale =', True) managers_region_sale = Manager.all().filter('is_region_sale =', True) managers_collection = Manager.all().filter('is_collection =', True) manages_marketing = Manager.all().filter('is_marketing =', True) managers_it = Manager.all().filter('is_it =', True) presentation = AboutPage.all().get() if presentation: presentation = presentation.get_presentation_info() return render_to_response( 'about/index.html',{ 'managers_networks': managers_networks, 'managers_direct_sale': managers_direct_sale, 'managers_region_sale': managers_region_sale, 'managers_collection': managers_collection, 'manages_marketing': manages_marketing, 'managers_it': managers_it, 'presentation': presentation })
def get_managers(): managers_list = Manager.all() managers = [] for manager in managers_list: managers.append((int(manager.key().id()), unicode(manager))) return managers
def send_newsletter_task2(request, email, newsletter_key_id): newsletter = Newsletter2.get_by_id(newsletter_key_id) managers = [] for mgr_id in newsletter.managers: mgr = Manager.get_by_id(mgr_id) if mgr: managers.append(mgr) message = mail.EmailMessage(sender=settings.DEFAULT_MAIL_FROM, subject=newsletter.title) message.to = email if not message.to: return Response("Ok") mangers_emails = [manager.email for manager in managers] if mangers_emails: message.reply_to = ",".join(mangers_emails) gifts = [] gifts_images = {} if newsletter.gifts: gifts_split = newsletter.gifts.split(",") for gift in gifts_split: try: gift = gift.strip() obj = Gift.all().filter("uid =", gift).get() if obj: gifts.append(obj) if obj.main_thumb: try: img = ThumbImage.get(obj.main_thumb) img = Image.get(img.thumb_200x200) if img: gifts_images[obj.uid] = base64.b64encode(str(img.image)) except Exception: pass except Exception: pass message_text = render_to_string( "postman/send_newsletter2.html", {"newsletter": newsletter, "gifts": gifts, "managers": managers, "gifts_images": gifts_images}, ) message.html = message_text attachments = [] for file_key in newsletter.n_price_list: file_ = File.get(file_key) if file_ and file_.blob_key: bi = blobstore.BlobInfo.get(file_.blob_key) if bi: attachments.append(("%s" % file_.title_filename, bi.open().read())) if attachments: message.attachments = attachments try: message.send() except apiproxy_errors.OverQuotaError: def txn(): taskqueue.add( url=url_for("postman/send_newsletter_task2", email=email, newsletter_key_id=newsletter_key_id), transactional=True, ) db.run_in_transaction(txn) return Response("OK")
def delete_manager(request, key): manager = Manager.get(key) manager.delete() return redirect(url_for('admin/managers'))
def managers(request): managers_objs = Manager.all() return render_to_response( 'admin/managers.html', {'managers': managers_objs})
def reg_request(request): form = RegistrationRequestForm() managers = Manager.all().filter("is_hidden =", False) if request.method == "POST": if form.validate(request.form): email = request.form["email"] user = UserProfile.all().filter("email =", email).count() if user: default_manager = request.form.get("manager") default_manager = Manager.get(default_manager).key() form.append_errors( u"Этот email уже используется. \ Возможно Вы уже зарегистрировались.", "email", ) return render_to_response( "auth5/reg_request.html", {"form": form.as_widget(), "managers": managers, "default_manager": default_manager}, ) reg_reqs = RegistrationRequest.all().filter("email =", email).count() if reg_reqs: default_manager = request.form.get("manager") default_manager = Manager.get(default_manager).key() form.append_errors( u"Этот email уже используется. \ Возможно Вы уже отправили заявку на регистрацию.", "email", ) return render_to_response( "auth5/reg_request.html", {"form": form.as_widget(), "managers": managers, "default_manager": default_manager}, ) def txn(): reg_request_obj = RegistrationRequest( first_name=request.form["first_name"], email=request.form["email"], telephone=request.form["telephone"], company=request.form["company"], password=crypto.gen_pwhash(request.form["password"]), manager=db.Key(request.form.get("manager")), ) reg_request_obj.put() taskqueue.add( url=url_for("auth5/send_request_to_manager", request_key=str(reg_request_obj.key())), transactional=True, ) db.run_in_transaction(txn) return render_to_response("auth5/thanks.html") default_manager = None if request.form.get("manager"): default_manager = request.form.get("manager") default_manager = Manager.get(default_manager).key() else: def_mangers = Manager.all().filter("is_hidden =", False).filter("is_default", True) if def_mangers.count(): default_manager = random.randrange(0, def_mangers.count()) default_manager = def_mangers[default_manager].key() else: if managers.count(): default_manager = random.randrange(0, managers.count()) default_manager = managers[default_manager].key() return render_to_response( "auth5/reg_request.html", {"form": form.as_widget(), "managers": managers, "default_manager": default_manager} )
def managers(request): managers_objs = Manager.all() return render_json_response([to_dict(o) for o in managers_objs])
def managers_list(): managers = Manager.all() managers_ = [('', '-')] for manager in managers: managers_.append((manager.key(), manager)) return managers_