Esempio n. 1
0
 def post(self, obj_id=None, parent_id=None):
     self.set_object(obj_id, parent_id)
     self.extra()
     if self.error:
         flash(self.error_msg, self.error_level)
         return redirect(url_for(**self.redirect))
     current_app.logger.debug('POSTED========================================')
     if self.form.validate_on_submit():
         current_app.logger.debug('VALIDATED========================================')
         if self.action == 'Edit':
             log_orig = log_change(self.obj)
             self.pre_post()
             self.form.populate_obj(self.obj)
             self.post_post()
             log_change(log_orig, self.obj, self.log_msg)
         else:
             self.pre_post()
             self.form.populate_obj(self.obj)
             self.post_post()
             db.session.add(self.obj)
             log_new(self.obj, self.log_msg)
         db.session.commit()
         self.post_submit()
         flash(self.success_msg, 'success')
         if self.redirect:
             return redirect(url_for(**self.redirect))
     log_form(self.form)
     flash_form_errors(self.form)
     return render_template(self.template, **self.context)
Esempio n. 2
0
def delete_comment(obj_id=None):
    from app.models import Comment
    if obj_id:
        comment = Comment.query.filter_by(id=obj_id).first()
        log_new(comment, 'deleted a comment')
        db.session.delete(comment)
        db.session.commit()
        flash('Comment deleted successfully.', 'success')
        return redirect(request.referrer)
    form = DeleteCommentForm()
    if form.validate_on_submit():
        comment = Comment.query.filter_by(id=form.comment_id.data).first()
        log_new(comment, 'deleted a comment')
        db.session.delete(comment)
        db.session.commit()
        flash('Comment deleted successfully.', 'success')
        return redirect(form.redirect.data)
    return redirect(url_for('main.home'))
Esempio n. 3
0
def sign_up(checkout=''):
    form = SignUpForm()
    if form.validate_on_submit():
        user = User()
        form.populate_obj(obj=user)
        user.set_password(form.new_password.data)
        customer = Group.query.filter_by(name='customer').first()
        if customer:
            user.groups = [customer]
        log_new(user, f'User added for email: {form.email.data}')
        db.session.add(user)
        db.session.commit()
        login_user(user, remember=False)
        flash('Thanks for creating an account!', 'success')
        if checkout == 'checkout':
            return redirect(url_for('shop.shipping'))
        return redirect(url_for('shop.index'))
    form.subscribed.data = True
    return render_template('auth/login.html',
                           title='Sign Up',
                           form=form,
                           user='',
                           checkout=checkout)
Esempio n. 4
0
def submit_comment():
    form = CommentForm()
    if form.validate_on_submit():
        comment = Comment(
            text=comment_form.comment.data,
            user_id=current_user.id,
            punch_id=form.punch_id.data,
            event_id=form.event_id.data,
        )
        db.session.add(comment)
        db.session.commit()
        if form.punch_id.data:
            comment.notify(
                edited_user=user,
                url=url_for(
                    'punch.edit',
                    username=user.username,
                    punch_id=punch_id,
                ),
                item=f"{user.display_name_short()}'s punch card",
            )
            log_new(comment, 'commented on a punch card')
        if form.event_id:
            comment.notify(
                edited_user=user,
                url=url_for(
                    'schedule.leave_edit',
                    username=user.username,
                    leave_id=leave_id,
                ),
                item=f"{user.display_name_short()}'s leave request",
            )
            log_new(comment, 'commented on an event')
        flash('Comment added successfully!', 'success')

    return redirect(request.referer)
Esempio n. 5
0
 def post(self, parent_id=None):
     self.extra()
     self.form = self.form()
     if self.form.validate_on_submit():
         self.obj = self.model.query.filter_by(id=self.form.obj_id.data).first()
         log_new(self.obj, self.log_msg)
         self.pre_post()
         db.session.delete(self.obj)
         self.post_post()
         db.session.commit()
         self.post_submit()
         flash(self.success_msg, 'success')
     else:
         flash(f'Failed to delete {self.model.__name__}!', 'danger')
     log_form(self.form)
     #flash_form_errors(self.form)
     try:
         if self.form.redirect.data:
             return redirect(self.form.redirect.data)
     except Exception as e:
         current_app.logger.debug(e)
     if parent_id:
         return redirect(url_for(**self.redirect, obj_id=parent_id))
     return redirect(url_for(**self.redirect))