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 user_delete(request, key): try: user = UserProfile.get(key) except BadKeyError: return redirect('admin/users') if user: ord_usr = OrderingUser.all().filter('register_user ='******'user ='******'admin/users')
def send_newsletter_task(request, user_key, newsletter_key): newsletter = Newsletter.get(newsletter_key) managers = [] message = mail.EmailMessage(sender=settings.DEFAULT_MAIL_FROM, subject=newsletter.title) user = UserProfile.get(user_key) message.to = user.email if not message.to: return Response("Ok") 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_newsletter.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())) message.attachments = attachments message.send() return Response("OK")