Exemple #1
0
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', {})
Exemple #2
0
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)
Exemple #3
0
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)
Exemple #4
0
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()]
Exemple #5
0
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)
Exemple #6
0
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)
Exemple #7
0
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)
Exemple #8
0
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 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', {})
Exemple #10
0
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)
Exemple #11
0
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})
Exemple #12
0
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)
Exemple #13
0
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()]
Exemple #14
0
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)
Exemple #15
0
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 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',{})
Exemple #17
0
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})
Exemple #18
0
def add_email_activation(request):
    form = EmailForm(request.POST)
    if not form.is_valid():
        raise _Error.invalid_email(request.POST['email'])
    email = form.cleaned_data['email']
    token = create_token(email)
    mailing.verify_email(email, token)
    return {'email': email}
Exemple #19
0
def re_verify():
    form = EmailForm(request.form)

    if form.validate_on_submit():
        send_verification_email(form.get_user())
        flash('Check your email for verification!')
        return redirect(url_for('home'))
    return render_template('no_email_verification.html', form=form) 
Exemple #20
0
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')
Exemple #21
0
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
Exemple #22
0
    def patch(self, request, **kwargs):
        doctor = get_object_or_404(User, pk=kwargs['pk']).doctor
        data = QueryDict(request.body)
        form = EmailForm(data, instance=doctor)
        if form.is_valid():
            form.save()
            doctorJSON = serializers.serialize("json", [doctor])
            return HttpResponse(doctorJSON, content_type='application/json')

        return HttpResponse(status=500)
Exemple #23
0
def send_email(request, sent=None):
    """ Send an email to all club members. """

    form = EmailForm()
    template='send_email.html'
    users = []
    send_errors = []

    if request.method == 'POST':
        form = EmailForm(request.POST)
        if form.is_valid():
            form = form.cleaned_data
            subject = form['subject']
            message = form['message']

            try:
                users = User.objects.filter(
                        is_active=True,
                        userprofile__want_email=True,
                        )
            except ObjectDoesNotExist:
                error = "Can't pull up the user list!"
                return error_404(request, error)

            for user in users:
                try:
                    user_email = user.email
                    send_mail(subject, 
                              message, 
                              SERVER_EMAIL,
                              [user_email],
                              fail_silently=False,
                              )
                except SMTPException:
                    # Need to grab Exception and pass it to template
                    error = "There was an error sending mail!"
                    return error_404(request, error)

                except:
                    error = "There was an error sending mail!"
                    return error_404(request, error)

            return HttpResponseRedirect(reverse(sent_email))

        else:
            form = EmailForm(request.POST)
            
    ctxt = { 
        'request' : request, 
        'form' : form, 
        'users' : users,
        'page_name' : 'Email All Members',
        'media_url' : MEDIA_URL,
        }
    return render_to_response(template, ctxt)
Exemple #24
0
    def post(self, request, *args, **kwargs):
        """Handles the POST request to the 'account_forgot_password' named route.
        Args: request.
        Returns: A HttpResponse with a forgot_password_recovery_status template
                 otherwise, return forgot_password template.
        """
        email_form = EmailForm(request.POST, auto_id=True)
        if email_form.is_valid():
            try:
                # get the account for that email if it exists:
                input_email = email_form.cleaned_data.get('email')
                registered_user = User.objects.get(email__exact=input_email)

                # generate a recovery hash url for that account:
                recovery_hash = Hasher.gen_hash(registered_user)
                url_str = str(
                    reverse_lazy('account_reset_password',
                                 kwargs={'recovery_hash': recovery_hash}))
                recovery_hash_url = request.build_absolute_uri(url_str)

                # compose the email:
                recovery_email_context = RequestContext(
                    request, {'recovery_hash_url': recovery_hash_url})
                subject, from_email, to = 'TheEventDiary: Password Recovery', 'Theeventdiary <*****@*****.**>', registered_user.email
                html = loader.get_template(
                    'forgot_password_recovery_email.html').render(
                        recovery_email_context)
                text = loader.get_template('forgot_password_recovery_email.txt'
                                           ).render(recovery_email_context)

                msg = EmailMultiAlternatives(subject, text, from_email, [to])
                msg.attach_alternative(html, "text/html")
                email_status = msg.send()

                # inform the user of the status of the recovery mail:
                context = {
                    'page_title': 'Forgot Password',
                    'registered_user': registered_user,
                    'recovery_mail_status': email_status,
                }
                return render(request, 'forgot_password_recovery_status.html',
                              context)

            except ObjectDoesNotExist:
                # set an error message:
                messages.add_message(
                    request, messages.ERROR, 'The email you entered does not \
                    belong to a registered user!')

        context = {
            'page_title': 'Forgot Password',
            'email_form': email_form,
        }
        return render(request, 'forgot_password.html', context)
Exemple #25
0
def save_email():
    form = EmailForm(request.form)
    if form.validate():
        db = get_db()
        db.execute('''INSERT INTO emails (email, registered)
        VALUES (?, ?)''', (request.form.get('email'), datetime.utcnow().isoformat()))
        db.commit()

        return render_template('email.html', email=Markup.escape(form.email.data))
    else:
        return redirect("/")
Exemple #26
0
def commit(request):
    if request.method == "POST":
        ef = EmailForm(request.POST)
        if ef.is_valid():
            s = Signup(email=ef.cleaned_data["email"])
            s.save()
        cats = ["volunteer", "outdoors", "food", "drink", "entertain", "winter", "rents"]
        resp_dict = models.get_acts_from_cats(cats)
        return render_to_response("home.html", resp_dict, RequestContext(request))
    else:
        ef = EmailForm()
        return render_to_response("commit.html", {"form": ef}, RequestContext(request))
Exemple #27
0
def email(request):
   if request.method == 'POST': 
      form = EmailForm(request.POST, error_class=AlertErrorList)
      if form.is_valid():
         result = EmailSender().send(form.cleaned_data["email"], form.cleaned_data['message'])
         return HttpResponseRedirect('/') 
   else:
      form = EmailForm(error_class=AlertErrorList) 

   return render_to_response('email/email.html',
                             {'form': form },
                             context_instance=RequestContext(request))
Exemple #28
0
def profile():
    form = EmailForm()
    if form.validate_on_submit():
        g.user.email = form.email.data
        db.session.add(g.user)
        db.session.commit()
        flash("Email was changed", "success")
        return redirect(url_for("index"))
    else:
        flash_errors(form)
    form.email.data = g.user.email
    return render_template("profile.html", form=form)
Exemple #29
0
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')
Exemple #30
0
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})
Exemple #31
0
def publish_poster(id_admin):
    p = Poster.query.filter_by(id_admin=id_admin).first_or_404()
    form = EmailForm()
    if form.validate_on_submit():
        p.email = form.email.data
        db.session.add(p)
        db.session.commit()
        send_admin_info(p, sender=app.config['MAIL_FROM'])
        flash(
            'Information successfully updated! You should receive an email soon.'
        )
        return redirect(url_for('publish_poster', id_admin=p.id_admin))
    return render_template('publish_poster.html', form=form, poster=p)
Exemple #32
0
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
	})
Exemple #33
0
def frontend_change(request):

	uform = EmailForm(request.POST or None)

	if uform.is_valid():
		# form.save()
		messages.info(request, 'An email has been sent, Please check')
		return redirect('.')


	return render_to_response('notification.html',
	                          locals(),
	                          RequestContext(request))
Exemple #34
0
def sign_in():
    form = EmailForm()
    if form.validate_on_submit():
        email = form.email.data
        try:
            user = User.get(email=email)
        except User.DoesNotExist:
            #print ('errorrrrrrr!')
            return render_template('sign_in.html', form=form, login_error=True, reg_url=url_for('reg'))
        else:
            log_user(user)
            return redirect(url_for('index'))
    return render_template('sign_in.html', form=form, login_error=False, reg_url=url_for('reg'))
Exemple #35
0
def EmailIt():
    form = EmailForm()
    global file_name
    text2 = open(file_name, 'r+')
    contents = text2.read()
    text2.close()
    if (form.validate_on_submit()):
        emailsender(form.email.data)
        flash('Email sent', 'info ')
        return render_template('contents.html',
                               title="read",
                               contents=contents)
    return render_template('emailit.html', title="emailit", form=form)
Exemple #36
0
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.data}<br>{mail.body}'
        mail.send(msg)
        return jsonify({'status': 'success'})
    print('error while sending email')
    return jsonify({'status': 'error'})
Exemple #37
0
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})
Exemple #38
0
    def post(self, request):
        form = EmailForm(request.POST)
        if form.is_valid():

            worksheet_guid = form.cleaned_data["id"]
            worksheet = Worksheet.objects.get(guid=worksheet_guid)
            recipient = form.cleaned_data["email"]
            subject = "Your Personalized College Financial Aid Information"
            body_template = get_template("email_body.txt")
            body = body_template.render(RequestContext(request, dict(guid=worksheet.guid)))

            send_mail(subject, body, "*****@*****.**", [recipient], fail_silently=False)
        document = {"status": "ok"}
        return HttpResponse(json.dumps(document), content_type="application/json")
Exemple #39
0
def index(request):
    if request.method == "POST":
        form = EmailForm(request.POST)
        if form.is_valid():
            post = form.save(commit=False)
            post.signup_date = timezone.now()
            post.email_confirmed = True
            post.save()
            return redirect('/emailupdate/thanks/')
    else:
        form_class = EmailForm
        return render(request, 'emailupdate/emailupdate.html', {
            'form': form_class,
        })
Exemple #40
0
def save_email():
    form = EmailForm(request.form)
    if form.validate():
        db = get_db()
        db.execute(
            '''INSERT INTO emails (email, registered)
        VALUES (?, ?)''',
            (request.form.get('email'), datetime.utcnow().isoformat()))
        db.commit()

        return render_template('email.html',
                               email=Markup.escape(form.email.data))
    else:
        return redirect("/")
Exemple #41
0
def forgot_password():
    statsd.increment('api_calls.forgot_password')
    if request.method == 'POST':
        logger.info(request.form)
        form = EmailForm(request.form)
        if not form.validate():
            msg = {
                'success': False,
                'msg': form.errors, }
            return jsonify(msg)
        if secret_key != base64.b64decode(form.sig.data):
            msg = {
                'success': False,
                'msg': 'invalid signature'}
            return jsonify(msg)
        u = session.query(Person).\
            filter(Person.email == form.email.data).\
            first()
        if not u:
            msg = {
                'success': False,
                'msg': 'Email not registered!'}
            return jsonify(msg)
        m = Message(
            "Reset Password",
            recipients=[form.email.data])
        content = (
            'Click <a href="http://' +
            request.headers['Host'] + '/forgot_password?' +
            'key=' + urllib.quote(u.pw_hash) + '&email=' +
            urllib.quote(form.email.data) + '">HERE</a>' +
            ' to reset your password')
        m.html = content
        mail.send(m)
        msg = {
            'success': True,
            'msg': 'Mail Sent!'}
        return jsonify(msg)

    logger.info(request.args)
    key = urllib.unquote(request.args['key'])
    email = urllib.unquote(request.args['email'])
    u = session.query(Person).\
        filter(Person.email == email).first()
    if u and key == u.pw_hash:
        response = redirect(url_for('reset_page'))
        response.set_cookie('email', value=email)
        response.set_cookie('key', value=urllib.quote(key))
        return response
    return 'Invalid key!'
Exemple #42
0
def reset_password():
    form = EmailForm()
    if form.validate_on_submit():
        user = mongo_db.users.User.find_one({'email' : form.email.data})

        subject = "Succor password reset requested"
        token = ts.dumps(user.email, salt='recover-key')
        recover_url = url_for('reset_with_token', token=token, _external=True)
        body = render_template('email/recover.txt', url=recover_url)
        html = render_template('email/recover.html', url=recover_url)
        send_email(subject, app.config['FROM_EMAIL_ADDRESS'], [user.email], body, html)

        flash('Check your email for password reset link')
        return redirect(url_for('home'))
    return render_template('reset.html', form=form)
def if_email_add(request):
    email = request.COOKIES.get('email', 'noemailset')
    if email != 'noemailset':
        # print email
        email = urllib.unquote(email)
        # print email
        form = EmailForm({'email': email, })
        cd = ''
        if form.is_valid():
            cd = form.cleaned_data
            # print "cleaned data"
            # print cd["email"]
            if not EmailCollect.objects.filter(email=cd["email"]):
                e = EmailCollect(email=cd["email"])
                e.save()
Exemple #44
0
def form():
    info_form = EmailForm()
    if info_form.validate_on_submit():
        # flash(f"Email sent for {info_form.job_position.data} at {info_form.company_name.data} ", 'success')
        job_position = info_form.job_position.data
        company_name = info_form.company_name.data
        heard_about = info_form.heard_about.data
        recipient_email = info_form.recipient_email.data
        send_email(job_position, company_name, recipient_email, heard_about)
        return redirect(url_for('form', form=info_form))
        # return redirect(url_for('email_render', job_position = job_position, company_name = company_name, heard_about = heard_about, recipient_email = recipient_email))
    # else:
    #     flash("failure!")
    #     return redirect(url_for('form'))
    return render_template(r"form.html",  form = info_form)
Exemple #45
0
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})
Exemple #46
0
    def post(self, request, *args, **kwargs):
        """Handles the POST request to the 'account_forgot_password' named route.
        Args: request.
        Returns: A HttpResponse with a forgot_password_recovery_status template
                 otherwise, return forgot_password template.
        """
        email_form = EmailForm(request.POST, auto_id=True)
        if email_form.is_valid():
            try:
                # get the account for that email if it exists:
                input_email = email_form.cleaned_data.get('email')
                registered_user = User.objects.get(email__exact=input_email)

                # generate a recovery hash url for that account:
                recovery_hash = Hasher.gen_hash(registered_user)
                url_str = str(reverse_lazy('account_reset_password',kwargs={'recovery_hash': recovery_hash}))
                recovery_hash_url = request.build_absolute_uri(url_str)

                # compose the email:
                recovery_email_context = RequestContext(request, {'recovery_hash_url': recovery_hash_url})
                subject, from_email, to = 'TheEventDiary: Password Recovery', 'Theeventdiary <*****@*****.**>', registered_user.email
                html=loader.get_template('forgot_password_recovery_email.html').render(recovery_email_context)
                text=loader.get_template('forgot_password_recovery_email.txt').render(recovery_email_context)

                msg = EmailMultiAlternatives(subject, text, from_email, [to])
                msg.attach_alternative(html, "text/html")
                email_status = msg.send()

                # inform the user of the status of the recovery mail:
                context = {
                    'page_title': 'Forgot Password',
                    'registered_user': registered_user,
                    'recovery_mail_status': email_status,
                }
                return render(request, 'forgot_password_recovery_status.html', context)

            except ObjectDoesNotExist:
                # set an error message:
                messages.add_message(
                    request, messages.ERROR,
                    'The email you entered does not \
                    belong to a registered user!')

        context = {
            'page_title': 'Forgot Password',
            'email_form': email_form,
        }
        return render(request, 'forgot_password.html', context)
Exemple #47
0
def new_email(keyurl):
    """
    """
    key = ndb.Key(urlsafe=keyurl)
    form = EmailForm(request.form)
    if request.method == 'POST' and form.validate():
        email = EmailModel(
            enterprise = key,
            email = form.email.data
        )
        try:
            email.put()
            return redirect(url_for('admin.edit_enterprise', keyurl=keyurl))
        except CapabilityDisabledError:
            flash('save error', 'error')
    return render_template('admin/new_email.html', form=form, keyurl=keyurl)
Exemple #48
0
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)
Exemple #49
0
    def post(self, request):
        form = EmailForm(request.POST)
        if form.is_valid():

            worksheet_guid = form.cleaned_data['id']
            worksheet = Worksheet.objects.get(guid=worksheet_guid)
            recipient = form.cleaned_data['email']
            subject = "Your Personalized College Financial Aid Information"
            body_template = get_template('email_body.txt')
            body = body_template.render(RequestContext(request,
                                        dict(guid=worksheet.guid)))

            send_mail(subject, body, '*****@*****.**', [recipient],
                      fail_silently=False)
        document = {'status': 'ok'}
        return HttpResponse(json.dumps(document),
                            content_type='application/json')
Exemple #50
0
def edit_email(keyurl):
    email = ndb.Key(urlsafe=keyurl).get()
    if not email:
        flash('no such email', 'error')
        return redirect(url_for('admin.enterprises'))
    form = EmailForm(request.form)
    if request.method == 'GET':
        form.email.data = email.email

    if request.method == 'POST' and form.validate():
        email.email = form.email.data
        try:
            email.put()
            return redirect(url_for('admin.edit_enterprise', keyurl=email.enterprise))
        except CapabilityDisabledError:
            flash('save error', 'error')
    return render_template('admin/edit_email.html', form=form, keyurl=keyurl)
Exemple #51
0
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))    
Exemple #52
0
def remember_password(request):
    if request.method == 'POST':
        form = EmailForm(request.POST)
        if form.is_valid():
            hash = uuid.uuid4().hex
            password_remember = PasswordRemember(hash=hash, email=form.cleaned_data['email'])
            password_remember.save()
            message = u'Вы запросили восстановление пароля на сайте %s. Для продолжения перейдите по ссылке %s' % \
                (settings.SITE_URL ,settings.SITE_URL + "/accounts/reset/" + hash)

            send_mail(u'Восстановление пароля ' + settings.SITE_URL, message, '*****@*****.**',
                      [form.cleaned_data['email']])
            return HttpResponse(u'Ссылка на страницу восстановления пароля была отправлена на адрес, указанный в форме.')

    else:
        form = EmailForm()

    return direct_to_template(request, 'registration/email_form.html', {'form': form})
Exemple #53
0
def awt_frontpage(request):
    if request.method == 'POST':
        form = EmailForm(request.POST)
        if form.is_valid():
            try:
                subscribe_email(form.cleaned_data)
                messages.success(request, 'Successfully subscribed.')
                redirect_to = 'awt_frontpage'
            except mailchimp.ListAlreadySubscribedError:
                messages.error(request, 'Already subscribed.')
                redirect_to = 'awt_frontpage'
            except mailchimp.ValidationError, e:
                messages.error(request, 'ERROR: %s' % e.args[0])
                redirect_to = 'awt_frontpage'
            except Exception, e:
                messages.error(request, 'ERROR: %s' % e.args[0])
                redirect_to = 'awt_frontpage'
            return redirect(redirect_to)
Exemple #54
0
def subscribe():
    # TODO: conditional on method?
    # TODO: fill with form data?
    email_form = EmailForm()

    mime_type = request.mimetype
    # json
    if mime_type == 'application/json':
        return 'ok'
    # html
    else:
        # Form submission
        if email_form.validate_on_submit():
            sub = Subscription(email_form.email.data)
            db_session.add(sub)
            db_session.commit()

        flash("Thanks! You've been subscribed.")
        return redirect(url_for('index'))
Exemple #55
0
def editemail(id):
  user = User.query.get(session['user_id'])
  emailForm = EmailForm()
  emailForm.email.default = user.email
  if emailForm.validate_on_submit():
    if (emailForm.email.data != emailForm.email.default):
      users1 = user.query.all()
      for user1 in users1:
        if (emailForm.email.data == user1.email):
          flash('Error: Email is already in use by another user')
          return redirect(url_for('show', id=user.id))
      user.email = emailForm.email.data
      db.session.commit()
      flash('Email Successfully Updated')
      return redirect(url_for('show', id=user.id))
    flash('Your original email, '+user.email+' has been saved')
    return redirect(url_for('show', id=user.id))
  flash('Error: Invalid Email Address')
  return redirect(url_for('show', id=user.id))