Beispiel #1
0
def add():
    form = ManagerForm()
    if form.validate_on_submit():
        manager = Manager()
        form.populate_obj(manager)
        manager.put()
        return redirect(url_for('admin.manager.index'))
    return render_template('admin//manager/add.html', form=form)
Beispiel #2
0
def add():
    form = ManagerForm()
    if form.validate_on_submit():
        manager = Manager()
        form.populate_obj(manager)
        manager.put()
        return redirect(url_for('admin.manager.index'))
    return render_template(
        'admin//manager/add.html',
        form = form
    )
Beispiel #3
0
def contacts():
    contacts_obj = Contact.query(
        Contact.is_public == True).order(-Contact.order_id)
    managers = Manager.query(Manager.is_public == True)
    return flask.render_template('pages/contact.html',
                                 title=u'Контакты',
                                 contacts=contacts_obj,
                                 managers=managers)
Beispiel #4
0
def contacts():
    contacts_obj = Contact.query(Contact.is_public == True).order(-Contact.order_id)
    managers = Manager.query(Manager.is_public == True)
    return flask.render_template(
        'pages/contact.html',
        title=u'Контакты',
        contacts=contacts_obj,
        managers=managers
    )
Beispiel #5
0
    def _post_put_hook(self, future):
        customer = self.customer.get()
        feedback_email = Config.get_master_db().feedback_email
        if customer:
            if self.status == REQUEST_STATUS['accept']:
                customer.is_customer = True
                customer.put()
                if feedback_email and customer.email:
                    mail.send_mail(
                        sender=feedback_email,
                        to=customer.email,
                        subject=u'[%s] - Ваш запрос одобрен' %
                        (Config.get_master_db().brand_name),
                        body=render_template(
                            'order/emails/customer_request_accept.txt',
                            comment=self.manager_comment))
            if self.status == REQUEST_STATUS['reject']:
                customer.is_customer = False
                customer.put()
                if feedback_email and customer.email:
                    mail.send_mail(
                        sender=feedback_email,
                        to=customer.email,
                        subject=u'[%s] - Ваш запрос отклонен' %
                        (Config.get_master_db().brand_name),
                        body=render_template(
                            'order/emails/customer_request_reject.txt',
                            comment=self.manager_comment))

            if self.status == REQUEST_STATUS['admin']:
                customer.admin = True
                customer.is_customer = True
                customer.put()
                if feedback_email and customer.email:
                    mail.send_mail(
                        sender=feedback_email,
                        to=customer.email,
                        subject=u'[%s] - Вы - администратор' %
                        (Config.get_master_db().brand_name),
                        body=render_template(
                            'order/emails/customer_request_admin.txt',
                            comment=self.manager_comment))
            if self.status == REQUEST_STATUS['now']:
                if feedback_email:
                    managers = Manager.query()
                    for manager in managers:
                        if manager.email:
                            mail.send_mail(
                                sender=feedback_email,
                                to=manager.email,
                                subject=u'[%s] - Новый запрос на сотрудничество'
                                % (Config.get_master_db().brand_name),
                                body=render_template(
                                    'order/emails/customer_request.txt',
                                    customer_request=self,
                                    customer=self.customer.get()))
Beispiel #6
0
def index():
    master_db = Config.get_master_db()
    if master_db.recaptcha_public_key and master_db.recaptcha_private_key:
        if not flask.request.headers.getlist("X-Forwarded-For"):
            ip = flask.request.remote_addr
        else:
            ip = flask.request.headers.getlist("X-Forwarded-For")[0]
        form = FeedbackCaptchaForm(captcha={
            'ip_address': ip,
            'public_key': master_db.recaptcha_public_key,
            'private_key': master_db.recaptcha_private_key
        })
        use_captcha = True
    else:
        form = FeedbackForm()
        use_captcha = False
    if form.validate_on_submit():
        feedback = Feedback()
        form.populate_obj(feedback)
        feedback.put()
        feedback_email = master_db.feedback_email
        managers = Manager.query()
        if feedback_email and managers:
            subject = u'[%s] Сообщение - %s' % (
                master_db.brand_name,
                form.subject.data
            )
            body = u'%s\n\n%s' % (form.feedback.data, form.email.data)
            for manager in managers:
                if manager.email and manager.is_mailable:
                    emails = collect_emails(manager.email)
                    for email in emails:
                        mail.send_mail(
                            sender=master_db.feedback_email,
                            to=email,
                            subject=subject,
                            reply_to=form.email.data or master_db.feedback_email,
                            body=body
                        )
        flask.flash(u'Спасибо за Ваш отзыв!', category='success')
        return flask.redirect(flask.url_for('pages.index'))
    if not form.errors and current_user_id() > 0:
        form.email.data = current_user_db().email
    return flask.render_template(
        'feedback/index.html',
        title=u'Обратная связь',
        html_class='feedback',
        form=form,
        use_captcha=use_captcha
    )
Beispiel #7
0
def edit(key_id):
    manager = Manager.retrieve_by_id(key_id)
    if not manager:
        flash(u'Не удалось найти указанного мененджера', category='error')
        return redirect(url_for('admin.manager.index'))
    if request.method == 'POST' and 'delete_manager' in request.form:
        flash(u'Менеджер "%s" удален' % manager.name)
        manager.key.delete()
        return redirect(url_for('admin.manager.index'))
    form = ManagerForm(obj=manager)
    if form.validate_on_submit():
        form.populate_obj(manager)
        manager.put()
        flash(u'Данные мененджера "%s" успешно обновлены' % manager.name,
              category='success')
        return redirect(url_for('admin.manager.index'))
    return render_template('admin/manager/edit.html', form=form)
Beispiel #8
0
def index():
    master_db = Config.get_master_db()
    if master_db.recaptcha_public_key and master_db.recaptcha_private_key:
        if not flask.request.headers.getlist("X-Forwarded-For"):
            ip = flask.request.remote_addr
        else:
            ip = flask.request.headers.getlist("X-Forwarded-For")[0]
        form = FeedbackCaptchaForm(
            captcha={
                'ip_address': ip,
                'public_key': master_db.recaptcha_public_key,
                'private_key': master_db.recaptcha_private_key
            })
        use_captcha = True
    else:
        form = FeedbackForm()
        use_captcha = False
    if form.validate_on_submit():
        feedback = Feedback()
        form.populate_obj(feedback)
        feedback.put()
        feedback_email = master_db.feedback_email
        managers = Manager.query()
        if feedback_email and managers:
            subject = u'[%s] Сообщение - %s' % (master_db.brand_name,
                                                form.subject.data)
            body = u'%s\n\n%s' % (form.feedback.data, form.email.data)
            for manager in managers:
                if manager.email and manager.is_mailable:
                    emails = collect_emails(manager.email)
                    for email in emails:
                        mail.send_mail(sender=master_db.feedback_email,
                                       to=email,
                                       subject=subject,
                                       reply_to=form.email.data
                                       or master_db.feedback_email,
                                       body=body)
        flask.flash(u'Спасибо за Ваш отзыв!', category='success')
        return flask.redirect(flask.url_for('pages.index'))
    if not form.errors and current_user_id() > 0:
        form.email.data = current_user_db().email
    return flask.render_template('feedback/index.html',
                                 title=u'Обратная связь',
                                 html_class='feedback',
                                 form=form,
                                 use_captcha=use_captcha)
Beispiel #9
0
 def _post_put_hook(self, future):
     customer = self.customer.get()
     feedback_email = Config.get_master_db().feedback_email
     if customer and feedback_email:
         if self.status == ORDER_STATUS['now']:
             managers = Manager.query(Manager.is_mailable == True)
             for manager in managers:
                 if manager.email:
                     mail.send_mail(
                         sender=feedback_email,
                         to=manager.email,
                         subject=u'[%s] - Новый заказ на сумму %s' %
                         (Config.get_master_db().brand_name, self.price),
                         body=render_template('order/emails/order.txt',
                                              order=self),
                         html=render_template('order/emails/order.html',
                                              order=self))
Beispiel #10
0
def edit(key_id):
    manager = Manager.retrieve_by_id(key_id)
    if not manager:
        flash(u'Не удалось найти указанного мененджера', category='error')
        return redirect(url_for('admin.manager.index'))
    if request.method == 'POST' and 'delete_manager' in request.form:
        flash(u'Менеджер "%s" удален' % manager.name)
        manager.key.delete()
        return redirect(url_for('admin.manager.index'))
    form = ManagerForm(obj=manager)
    if form.validate_on_submit():
        form.populate_obj(manager)
        manager.put()
        flash(u'Данные мененджера "%s" успешно обновлены' % manager.name, category='success')
        return redirect(url_for('admin.manager.index'))
    return render_template(
        'admin/manager/edit.html',
        form =form
    )
Beispiel #11
0
 def _post_put_hook(self, future):
     customer = self.customer.get()
     feedback_email = Config.get_master_db().feedback_email
     if customer and feedback_email:
         if self.status == ORDER_STATUS['now']:
             managers = Manager.query(Manager.is_mailable == True)
             for manager in managers:
                 if manager.email:
                     mail.send_mail(
                         sender=feedback_email,
                         to=manager.email,
                         subject=u'[%s] - Новый заказ на сумму %s' % (
                             Config.get_master_db().brand_name, self.price
                         ),
                         body=render_template(
                             'order/emails/order.txt',
                             order=self
                         ),
                         html=render_template(
                             'order/emails/order.html',
                             order=self
                         )
                     )
Beispiel #12
0
def index():
    managers = Manager.query()
    return render_template(
        'admin/manager/index.html',
        managers = managers
    )
Beispiel #13
0
def index():
    managers = Manager.query()
    return render_template('admin/manager/index.html', managers=managers)
Beispiel #14
0
    def _post_put_hook(self, future):
        customer = self.customer.get()
        feedback_email = Config.get_master_db().feedback_email
        if customer:
            if self.status == REQUEST_STATUS['accept']:
                customer.is_customer = True
                customer.put()
                if feedback_email and customer.email:
                    mail.send_mail(
                        sender=feedback_email,
                        to=customer.email,
                        subject=u'[%s] - Ваш запрос одобрен' % (
                            Config.get_master_db().brand_name
                        ),
                        body=render_template(
                            'order/emails/customer_request_accept.txt',
                            comment = self.manager_comment
                        )
                    )
            if self.status == REQUEST_STATUS['reject']:
                customer.is_customer = False
                customer.put()
                if feedback_email and customer.email:
                    mail.send_mail(
                        sender=feedback_email,
                        to=customer.email,
                        subject=u'[%s] - Ваш запрос отклонен' % (
                            Config.get_master_db().brand_name
                        ),
                        body=render_template(
                            'order/emails/customer_request_reject.txt',
                            comment = self.manager_comment
                        )
                    )

            if self.status == REQUEST_STATUS['admin']:
                customer.admin = True
                customer.is_customer = True
                customer.put()
                if feedback_email and customer.email:
                    mail.send_mail(
                        sender=feedback_email,
                        to=customer.email,
                        subject=u'[%s] - Вы - администратор' % (
                            Config.get_master_db().brand_name
                        ),
                        body=render_template(
                            'order/emails/customer_request_admin.txt',
                            comment = self.manager_comment
                        )
                    )
            if self.status == REQUEST_STATUS['now']:
                if feedback_email:
                    managers = Manager.query()
                    for manager in managers:
                        if manager.email:
                            mail.send_mail(
                                sender=feedback_email,
                                to=manager.email,
                                subject=u'[%s] - Новый запрос на сотрудничество' % (
                                    Config.get_master_db().brand_name
                                ),
                                body=render_template(
                                    'order/emails/customer_request.txt',
                                    customer_request = self,
                                    customer = self.customer.get()
                                )
                            )