def send_email(request): if request.method != 'POST': form = EmailForm() return render(request, 'submit_event.html', {'email_form': form}) form = EmailForm(request.POST, request.FILES) if form.is_valid(): subject = form.cleaned_data['subject'] message = form.cleaned_data['message'] email = form.cleaned_data['email'] attach = request.FILES['attach'] try: mail = EmailMessage(subject, message, settings.EMAIL_HOST_USER, [email]) mail.attach(attach.name, attach.read(), attach.content_type) response = mail.send() return render(request, 'submit_event.html', {'message': 'Sent email to %s' % (email)}) except Exception as e: return render(request, 'submit_event.html', {'message': e.message}) else: try: return render(request, 'submit_event.html', {'message': form.message}) except AttributeError: return render(request, 'submit_event.html', {'message': "Please fill out all fields on the form.", "email_form":form})
def forgot_password(request): if request.method == 'POST': form = EmailForm(request.POST) login_form = LoginForm(request.POST) if form.is_valid(): email = form.cleaned_data['email'] user = get_object_or_404(CustomUser, email=email) salt = hashlib.sha1(str(random.random())).hexdigest()[:5] user.activation_key = hashlib.sha1(salt + user.email).hexdigest() #user.key_expires = timezone.now() + timezone.timedelta(100) user.save() plaintext = get_template('email/password_reset.txt') htmly = get_template('email/password_reset.html') d = Context({'user': user, 'site_url': site_url}) subject, from_email, to = 'Восстановление пароля', '*****@*****.**', user.email text_content = plaintext.render(d) html_content = htmly.render(d) msg = EmailMultiAlternatives(subject, text_content, from_email, [to]) msg.attach_alternative(html_content, "text/html") msg.send() return HttpResponseRedirect(reverse('success_reset')) else: form = EmailForm() login_form = LoginForm() context = {'form': form, 'login_form': login_form} return render(request, "forgot_password.html", context)
def remind_user(request): """ **Descripción**: Resetea la contraseña de usuario """ from forms import EmailForm if request.method == 'POST': f = EmailForm(request.POST, prefix='pass_remind') if f.is_valid(): from models import User user = User.objects.get_by_email(f.cleaned_data['email']) if user is None: fail = _(u"El correo no existe") f._errors['email'] = f.error_class([fail]) else: user.send_remind_code() msg = _( u"Se ha enviado un correo de confirmación a %s. Por favor revisa tu correo" ) % user.email return render_to_response( 'mainApp/user_pass.html', dict(msg=msg), context_instance=RequestContext(request)) else: f = EmailForm(prefix='pass_remind') return render_to_response('mainApp/user_pass.html', {'form': f}, context_instance=RequestContext(request))
def TmcData5(request): """ if CheckAccess(request,'2') != 'OK': return render_to_response("tmc/notaccess/tmc.html") """ ## --- Номер заявки --- try: tmc_id = request.GET['tmc_id'] request.session['tmc_id'] = tmc_id except: pass try: tmc_id = request.session['tmc_id'] except: return HttpResponseRedirect("/tmc") if request.method == 'POST': form = EmailForm(request.POST) if form.is_valid(): email = form.cleaned_data['email'] Email2Ruk(email, tmc_id) d = GetTmcData(tmc_id) form = EmailForm(None) s = GetLastStatus(tmc_id) c = RequestContext(request, {'d': d, 'form': form, 's': s}) c.update(csrf(request)) return render_to_response("tmc/tmcdata5.html", c)
def test_email(request): if request.method == 'GET': form = EmailForm() else: form = EmailForm(data=request.POST) if form.is_valid(): form.save() return render_to_response('mail.html', {'form': form})
def email(request, conn=None, **kwargs): """ View to gather recipients, subject and message for sending email announcements """ # Check that the appropriate web settings are available if (not request.session.get('server_settings', False) .get('email', False)): return {'template': 'webadmin/noemail.html'} context = {'template': 'webadmin/email.html'} # Get experimenters and groups. experimenter_list = list(conn.getObjects("Experimenter")) group_list = list(conn.getObjects("ExperimenterGroup")) # Sort experimenters and groups experimenter_list.sort(key=lambda x: x.getFirstName().lower()) group_list.sort(key=lambda x: x.getName().lower()) if request.method == 'POST': # If the form has been submitted... # ContactForm was defined in the the previous section form = EmailForm(experimenter_list, group_list, conn, request, data=request.POST.copy()) if form.is_valid(): # All validation rules pass subject = form.cleaned_data['subject'] message = form.cleaned_data['message'] experimenters = form.cleaned_data['experimenters'] groups = form.cleaned_data['groups'] everyone = form.cleaned_data['everyone'] inactive = form.cleaned_data['inactive'] req = omero.cmd.SendEmailRequest(subject=subject, body=message, groupIds=groups, userIds=experimenters, everyone=everyone, inactive=inactive) handle = conn.c.sf.submit(req) if handle is not None: request.session.modified = True request.session['callback'][str(handle)] = { 'job_type': 'send_email', 'status': 'in progress', 'error': 0, 'start_time': datetime.datetime.now()} form = EmailForm(experimenter_list, group_list, conn, request) context['non_field_errors'] = ("Email sent." " Check status in activities.") else: context['non_field_errors'] = "Email wasn't sent." else: form = EmailForm(experimenter_list, group_list, conn, request) context['form'] = form return context
def new_automation(request, alert_type): alert_type = get_object_or_404(AlertType, slug=alert_type, unit__in=request.units) if request.method == 'POST': form = EmailForm(request.POST) if form.is_valid(): if AlertEmailTemplate.objects.filter( alerttype=alert_type, hidden=False, threshold=form.cleaned_data['threshold']).count() > 0: errors = form._errors.setdefault("threshold", ErrorList()) errors.append(u'An e-mail with this threshold already exists.') else: f = form.save(commit=False) f.alerttype = alert_type f.created_by = request.user.username f.save() messages.success( request, "Created new automated email for %s." % alert_type.code) l = LogEntry(userid=request.user.username, description="Created new automated email %s." % alert_type.code, related_object=form.instance) l.save() return HttpResponseRedirect( reverse('alerts.views.view_automation', kwargs={'alert_type': alert_type.slug})) else: form = EmailForm() sample_alert = Alert.objects.filter(alerttype=alert_type, hidden=False)[0] email_tags = [("person.name", "The name of the student that has triggered the alert"), ("person.first_name", "The first name of the student."), ("person.last_name", "The last name of the student."), ("person.middle_name", "The middle name of the student."), ("person.emplid", "The student's emplid."), ("person.email", "The student's email."), ("person.title", "The student's title."), ("description", "The description of the alert.")] for k, v in sample_alert.details.iteritems(): email_tags.append(("details." + k, "For example, (" + str(v) + ")")) return render(request, 'alerts/new_automation.html', { 'alert_type': alert_type, 'form': form, 'email_tags': email_tags })
def index(request): if request.method == 'GET': form = EmailForm() return render(request, 'index.html', {'form': form}) elif request.method == 'POST': form = EmailForm(request.POST) if form.is_valid(): email = form.cleaned_data['email'] r = requests.post('https://slack.com/api/users.admin.invite', data={ 'token': settings.SLACK_TOKEN, 'email': email, }) if not r.status_code == 200: print r.content errors = [] invites_list = [] data = json.loads(r.content) if 'ok' in data and not data['ok']: errors.append('Slack: {}'.format(data['error'])) else: invites_list.append('Slack') mailchimp_api = mailchimp.Mailchimp(settings.MAILCHIMP_API_KEY) try: mailchimp_api.lists.subscribe('29b5ace6f2', {'email': email}) invites_list.append('Newsletter') except mailchimp.ListAlreadySubscribedError: errors.append('Already subscribed to newsletter') r = requests.get( 'https://civictools.appspot-preview.com/api/v1/invite', params={ 'teamId': '-Kd27R2-vkjuWxHEQ23A', 'secret': settings.AMPLIFY_SECRET, 'email': email }) if not r.status_code == 200: errors.append('Failed to send Amplify invite') else: invites_list.append('Amplify') msg = '' if errors: msg += '{}</br>'.format(', '.join(errors)) if invites_list: msg += 'Invite(s) sent for: {}'.format(', '.join(invites_list)) form = EmailForm return render(request, 'index.html', {'form': form, 'msg': msg}) else: raise Http404('method not allowed')
def adminemail(request): if request.method == 'POST': form = EmailForm(request.POST) if form.is_valid(): user = User.objects.get(id=request.user.id) user.email = form.cleaned_data['email'] user.save() return redirect('/account/profile/' + str(request.user.id)) else: user = User.objects.get(id=request.user.id) form = EmailForm(instance=user) return render(request, 'form.html', {'form': form})
def email(request): if request.method == "POST": form = EmailForm(request.POST) if form.is_valid(): send_a_letter.delay(form.cleaned_data["sender"],form.cleaned_data["recipient"], form.cleaned_data["subject"],form.cleaned_data["message"]) return HttpResponse("all sent. thanks.") else: form = EmailForm() return render(request, 'examples/email.html', { 'form' : form })
def editprofile(request): user = User.objects.get(username=request.user) if request.method == "POST": email = request.POST['email'] try: existent_email = User.objects.get(email=email) except: existent_email = None if existent_email: return render(request, 'fhs/editprofile.html', {"existent": True}) form = EmailForm(data=request.POST, instance=request.user) picform = UserProfileForm(data=request.POST, instance=request.user) try: up = UserProfile.objects.get(user=request.user) except: up = None if form.is_valid() and picform.is_valid(): if email: user = form.save(commit=False) user.save() if 'picture' in request.FILES: up.picture = request.FILES['picture'] up.save() return HttpResponseRedirect('/fhs/profile/' + user.username) else: return render(request, 'fhs/editprofile.html', {})
def password_reset_via_email(): form = EmailForm() if form.validate_on_submit(): user = User.query.filter_by(email=form.email.data).first() if user is None: flash('Error! Invalid email address!', 'danger') return render_template('users/password_reset_via_email.html', form=form) if user.email_confirmed: @copy_current_request_context def send_email(email_message): with current_app.app_context(): mail.send(email_message) # Send an email confirming the new registration message = generate_password_reset_email(form.email.data) email_thread = Thread(target=send_email, args=[message]) email_thread.start() flash('Please check your email for a password reset link.', 'success') else: flash( 'Your email address must be confirmed before attempting a password reset.', 'danger') return redirect(url_for('users.login')) return render_template('users/password_reset_via_email.html', form=form)
def send_message(): form = EmailForm(request.form) if form.validate(): app.config.from_object('email_conf.Config') mail = Mail(app) msg = Message(sender=current_app.config['MAIL_USERNAME'], recipients=[current_app.config['MAIL_USERNAME']], subject=f'message from {form.name.data} through website') mail.body = form.message.data msg.html = f'{form.email_field.data}<br>{mail.body}' mail.send(msg) flash('Message sent', 'success') return render_template('home.html', form=form, mail=current_app.config['MAIL_USERNAME'], nnet_library=nnet_library, library_link=library_links[nnet_library], name=model_name, link=model_links[model_name]) flash('There was an error sending the message', 'error') return render_template('home.html', form=form, mail=current_app.config['MAIL_USERNAME'], nnet_library=nnet_library, library_link=library_links[nnet_library], name=model_name, link=model_links[model_name])
def forgot_password(): kwargs = { 'page_title': 'Reset Password', 'form_title': 'Reset Your Password', 'action': url_for('forgot_password'), 'primary_button': 'Submit', 'links': [("Don't have an account?", url_for('signup')), ('Need help?', '#')] } form = EmailForm(request.form) if form.validate_on_submit(): user = User.query.filter_by(email=form.email.data).first() if not user: flash('Cannot find that email, sorry.', 'danger') else: user.reset = True db.session.commit() send_reset_password(user.email) flash('Check your email for a link to reset your password.', 'success') return redirect(url_for('homepage')) return render_template('formbuilder.html', form=form, **kwargs)
def inputemail(): """Through Email to get a link for reseting password.""" form = EmailForm() if form.validate_on_submit(): user = Users.query.filter(Users.email == form.email.data) if user.count() != 1: flash("Wrong email, please try again.") else: username = user[0].username email = user[0].email msg = Message(f'for {username}', sender='*****@*****.**', recipients=[f'{email}']) msg.body = URL_HOME + 'resetpw' mail.send(msg) session['username'] = username return 'Mail Sent. Please check your E-mail.' return render_template('users/inputemail.html', form=form)
def reset(): form = EmailForm() if request.method == 'POST': if form.validate() == False: return render_template('reset.html', form=form) else: user = User.query.filter_by( email=form.email.data.lower()).first_or_404() if user: subject = "Password reset requested" token = security.ts.dumps(user.email, salt='recover-key') recover_url = url_for('reset_with_token', token=token, _external=True) html = "Click <a href={}> here </a> to change your password".format( recover_url) security.send_email(subject, user.firstname, user.email, html) signup_form = SignupForm() signin_form = SigninForm() message = "Reset email sent to {}".format(user.email) return render_template('home.html', signup_form=signup_form, signin_form=signin_form, message=message) else: return "That user does not exist" elif request.method == 'GET': return render_template('reset.html', form=form)
def reset_email(): if request.method == "POST": form = EmailForm(request.form) if form.validate(): ul = serv.login(g.user['email'], form.password.data) if ul: #TODO:发送确认邮件 try: uri = serv.send_lock_request("user.confirm_email", ul.id) up = g.db.query(UserProfile).filter( UserProfile.user_id == ul.id).one() up.email = form.email.data g.db.flush() g.db.commit() success = u"确认邮箱的邮件已经发出,请登录邮箱点击确认链接,然后才能使用新邮箱登陆" msg = Message(u"登陆邮箱变更确认邮件", sender="*****@*****.**", recipients=["*****@*****.**"]) msg.html = "点击下面链接确认登陆邮件变更,点击后用新邮箱登陆爱普云平台<br/><a href=\"http://%s%s\">%s</a>" % ( settings.SERVER, uri, uri) g.mail.send(msg) except Exception, e: g.db.rollback() log.error(print_debug(e)) errors = [u"未知异常"] else: errors = [u"登陆密码输入不正确"] else: errors = [v[0] for k, v in form.errors.iteritems()]
def about_us_page(request): context_dict = {} banners = Banner.objects.all() num = 0 if len(banners) > 1: while num < len(banners): num += 1 banner = banners[num - 1] else: banner = banners[0] print banner history_block = History_Section.objects.get(id=1) directors = Director.objects.all() staff_members = Staff_Member.objects.all() supporter_block = Supporter_Section.objects.get(id=1) supporters = Supporter.objects.all() context_dict['default'] = home_models.Default.objects.all()[0] context_dict['banner'] = banner context_dict['form'] = EmailForm() context_dict['history_block_title'] = history_block.title context_dict['history_block_text'] = history_block.text context_dict['staff_members'] = staff_members context_dict['directors'] = directors context_dict['supporter_block_title'] = supporter_block.title context_dict['supporter_block_text'] = supporter_block.text context_dict['supporters'] = supporters return render(request, 'about_us.html', context_dict)
def edit_details(request): user = User.objects.get(username=request.user) if request.method == "POST": email = request.POST['email'] try: existent_email = User.objects.get(email=email) except: existent_email = None if existent_email: return render(request, 'ArtVillage/edit_details.html', {"existent": True}) form = EmailForm(data=request.POST, instance=request.user) try: up = UserProfile.objects.get(user=request.user) except: up = None if form.is_valid(): if email: user = form.save(commit=False) user.save() return HttpResponseRedirect('/profile/' + user.username) else: return render(request, 'ArtVillage/edit_details.html', {}) else: return render(request, 'ArtVillage/edit_details.html', {})
def resend_confirmation(): kwargs = { 'page_title': 'Resend Confirmation', 'form_title': 'Resend Confirmation Token', 'action': url_for('resend_confirmation'), 'primary_button': 'Submit', 'links': [("Don't have an account?", url_for('signup')), ('Need help?', '#')] } form = EmailForm(request.form) if form.validate_on_submit(): user = User.query.filter_by(email=form.email.data).first() if not user: flash('Cannot find that email, sorry.', 'danger') elif user.confirmed: flash( 'Your account has already been verified. You can log in using your credentials', 'info') else: send_confirm_email(user.email) flash('Check your email for a link to verify your account.', 'success') return redirect(url_for('homepage')) return render_template('formbuilder.html', form=form, **kwargs)
def adminemail(request): if request.method == 'POST': form = EmailForm(request.POST) if form.is_valid(): user = User.objects.get(id=user_id) user.email =form.cleaned_data['email'] user.save() # 記錄系統事件 if is_event_open(request) : log = Log(user_id=request.user.id, event=u'修改信箱<'+user.first_name+'>') log.save() return redirect('/account/profile/'+str(request.user.id)) else: user = User.objects.get(id=request.user.id) form = EmailForm(instance=user) return render_to_response('account/email.html',{'form': form}, context_instance=RequestContext(request))
def mass_mail(): form = EmailForm() if request.method == 'GET': if 'workshop' in request.args: uid = request.args.get('workshop') workshop = db_session.query(Workshop).filter_by(id=uid).first() return render_template('email.html', form=form, workshop=workshop, title='cutrenet') else: return render_template('email.html', form=form, title='cutrenet') if request.method == 'POST': if form.validate_on_submit(): if form.attachment.data: f = form.attachment.data filename = secure_filename(f.filename) file_path = os.path.join(app.config['UPLOAD_FOLDER'], filename) f.save(file_path) if 'workshop' in request.args: uid = request.args.get('workshop') users = User.query.filter(User.workshops.any(id=uid)).all() flash( u'Correo enviado a todos los participantes del taller', 'success') else: users = User.query.filter(User.roles.any(Role.id.in_([ 2 ]))).all( ) # We pick the users that have role member (ID 2 in table roles) flash(u'Correo enviado a todos los miembros', 'success') email(app, mail, request.form, filename, users) os.remove(file_path) else: if 'workshop' in request.args: uid = request.args.get('workshop') users = User.query.filter(User.workshops.any(id=uid)).all() flash( u'Correo enviado a todos los participantes del taller', 'success') else: users = User.query.filter(User.roles.any(Role.id.in_([ 2 ]))).all( ) # We pick the users that have role member (ID 2 in table roles) flash(u'Correo enviado a todos los miembros', 'success') email(app, mail, request.form, '', users) if 'workshop' in request.args: uid = request.args.get('workshop') workshop = db_session.query(Workshop).filter_by(id=uid).first() return render_template('email.html', form=form, workshop=workshop, title='cutrenet') else: return render_template('email.html', form=form, title='cutrenet')
def selected_post(request, slug): context_dict = {} article = News.objects.get(slug=slug) context_dict['article'] = article context_dict['form'] = EmailForm() context_dict['default'] = home_models.Default.objects.all()[1] return render(request, 'article.html', context_dict)
def home(): form = EmailForm(request.form) return render_template('home.html', form=form, mail=current_app.config['MAIL_USERNAME'], nnet_library=nnet_library, library_link=library_links[nnet_library], name=model_name, link=model_links[model_name])
def email_draft_edit_view(request, pk, email_pk): issue = _get_issue_for_emails(request, pk) email = _get_email_for_issue(issue, email_pk) if not email.state in DRAFT_EMAIL_STATES: return redirect("case-email-list", issue.pk) case_email_address = build_clerk_address(issue, email_only=True) case_emails = get_case_emails(issue) if request.method == "POST": default_data = { "from_address": case_email_address, "state": EmailState.DRAFT, "issue": issue, "sender": request.user, } data = merge_form_data(request.POST, default_data) form = EmailForm(data, instance=email, files=request.FILES) if form.is_valid(): messages.success(request, "Draft saved.") email = form.save() elif request.method == "DELETE": email.delete() messages.success(request, "Draft deleted") return HttpResponse( headers={"HX-Redirect": reverse("case-email-list", args=(pk, ))}) else: form = EmailForm(instance=email) api = MSGraphAPI() sharepoint_docs = api.folder.get_all_files(f"cases/{issue.id}") sharepoint_options = [{ "name": doc["name"], "value": doc["id"] } for doc in sharepoint_docs] context = { "issue": issue, "form": form, "case_emails": case_emails, "email": email, "case_email_address": case_email_address, "is_disabled": email.state != EmailState.DRAFT, "sharepoint_options": sharepoint_options, } return render(request, "case/case/email/draft_edit.html", context)
def get(self, request, *args, **kwargs): """Handles GET requests to the 'account_forgot_password' named route. Returns: A forgot-password template rendered to a HttpResponse. """ context = { 'page_title': 'Forgot Password', 'email_form': EmailForm(auto_id=True), } context.update(request) return render(request, 'forgot_password.html', context)
def gen_email(request): if request.method == 'POST': try: data_web = request.POST form = email_from_template(data_web) return render(request, 'email.html', {'form': form}) except: pass form = EmailForm() return render(request, 'email.html', {'form': form})
def publications_article(request, slug): context_dict = {} article = Article.objects.get(slug=slug) context_dict['article'] = article context_dict['form'] = EmailForm() context_dict['switch'] = -1 context_dict['MEDIA_URL'] = MEDIA_URL return render(request, 'article.html', context_dict)
def send_email(request): """ Send a new email. """ email_form = EmailForm(user=request.user) if request.method == "POST": email_form = EmailForm(request.POST, user=request.user) if email_form.is_valid(): print email_form.cleaned_data['required_fields'] from_account = email_form.cleaned_data['from_account'] send_templated_email(request.user, email_form.contacts, from_account, email_form.cleaned_data['subject'], email_form.cleaned_data['html'], email_form.cleaned_data['text']) messages.success(request, "%s sent" % email_form.cleaned_data['subject']) # return redirect("index") return render(request, "emails/send.html", {"form": email_form})
def email(request): if request.method == 'POST': form = EmailForm(request.POST) if form.is_valid(): email1 = form.cleaned_data['email'] content1 = form.cleaned_data['content'] send_mail('Subject here', 'Here is the message.', '*****@*****.**', ['*****@*****.**'], fail_silently=False) HttpResponse( '<script>alert("Send Succeed");history.back();</script>') return HttpResponseRedirect('/home/') else: form = EmailForm() return render(request, 'useradd.html', {'form': form})