Esempio n. 1
0
def record_edit(record_id):
    record = Record.query.get(record_id)
    if (current_user != record.author
            and current_user.can('ADMINISTER') == False):
        flash('没有访问权限', 'warning')
        return redirect_back()
    form = RecordForm()
    if form.validate_on_submit():
        record.complaint = form.complaint.data
        record.history = form.history.data
        record.results = form.results.data
        record.assessment = form.assessment.data
        record.plan = form.plan.data
        record.prescriptions = form.prescriptions.data
        record.demographics = form.demographics.data
        record.body = form.body.data
        record.timestamp = datetime.utcnow()
        db.session.commit()
        flash('您的修改已经被提交', category='info')
        return redirect_back()
    elif request.method == 'GET':  # 这里要区分第一次请求表格的情况
        form.complaint.data = record.complaint
        form.history.data = record.history
        form.results.data = record.results
        form.assessment.data = record.assessment
        form.plan.data = record.plan
        form.prescriptions.data = record.prescriptions
        form.demographics.data = record.demographics
        form.body.data = record.body
    return render_template('edit_record.html',
                           title='Edit Record',
                           record=record,
                           form=form)  # 和POST表格后出错的情况
Esempio n. 2
0
def unit_edit(unit_id):
    unit = Unit.query.get(unit_id)
    if (current_user != unit.owner
            and current_user.can('ADMINISTER') == False):
        flash('没有访问权限', 'warning')
        return redirect_back()
    form = UnitForm()
    if form.validate_on_submit():
        unit.name = form.name.data
        unit.age = form.age.data
        unit.comment = form.comment.data
        unit.timestamp = datetime.utcnow()
        unit.gender = form.gender.data
        unit.height = form.height.data
        unit.weight = form.weight.data
        db.session.commit()
        flash('您的修改已经被提交', category='info')
        return redirect_back()
    elif request.method == 'GET':  # 这里要区分第一次请求表格的情况
        form.name.data = unit.name
        form.age.data = unit.age
        form.comment.data = unit.comment
        form.gender.data = unit.gender
        form.height.data = unit.height
        form.weight.data = unit.weight
    return render_template('edit_unit.html',
                           title='Edit Unit',
                           unit=unit,
                           form=form)  # 和POST表格后出错的情况
Esempio n. 3
0
def delete_evaluation(evaluation_id):
    evaluation = Evaluation.query.get(evaluation_id)
    if (current_user.can('ADMINISTER') == False):
        flash('没有访问权限', 'warning')
        return redirect_back()
    db.session.delete(evaluation)
    db.session.commit()
    flash('快速诊断记录已经被删除', 'success')
    return redirect_back()
Esempio n. 4
0
def record_delete(record_id):
    record = Record.query.get(record_id)
    if (current_user != record.author
            and current_user.can('ADMINISTER') == False):
        flash('没有访问权限', 'warning')
        return redirect_back()
    db.session.delete(record)
    db.session.commit()
    flash('病历记录已经被删除', 'success')
    return redirect_back()
Esempio n. 5
0
def unit_delete(unit_id):
    unit = Unit.query.get(unit_id)
    if (current_user != unit.owner
            and current_user.can('ADMINISTER') == False):
        flash('没有访问权限', 'warning')
        return redirect_back()
    for record in Record.query.filter_by(owner=unit).all():
        db.session.delete(record)
    db.session.delete(unit)
    db.session.commit()
    flash('病人已经被删除', 'success')
    return redirect_back()
Esempio n. 6
0
def set_role():
    user_id = request.form.get('user_id')
    user = User.query.get(user_id)
    role_id = request.form.get('new_role_id')
    user.role_id = role_id
    db.session.commit()
    return redirect_back()
Esempio n. 7
0
def delete_post():
    ids = request.form.getlist('id_list')
    for id in ids:
        post = Post.query.get_or_404(id)
        db.session.delete(post)
        db.session.commit()
    return redirect_back()
Esempio n. 8
0
def record_add():
    form = AddRecordForm()
    form.unit_id.choices = [
        (u.id, u.name)
        for u in Unit.query.order_by(Unit.timestamp.desc()).all()
    ]
    if form.validate_on_submit():
        record = Record(complaint=form.complaint.data,
                        history=form.history.data,
                        results=form.results.data,
                        assessment=form.assessment.data,
                        plan=form.plan.data,
                        prescriptions=form.prescriptions.data,
                        demographics=form.demographics.data,
                        body=form.body.data,
                        owner=Unit.query.get(form.unit_id.data),
                        author=current_user)
        db.session.add(record)
        db.session.commit()
        flash('新的病历记录已经被提交', category='info')
        return redirect_back()
    page = request.args.get('page', 1, type=int)
    pagination = Record.query.order_by(Record.timestamp.desc()).paginate(
        page, app.config['RECORDS_PER_PAGE_ADD'], False)
    records = pagination.items
    return render_template('add_record.html',
                           title='Add Record',
                           form=form,
                           records=records,
                           pagination=pagination)
Esempio n. 9
0
def delete_all():
    if request.method == 'POST':
        id = request.form.get('ids')
        print('id=', id)
        id = id.split(',')
        if 'on' in id:
            id.remove('on')
        if '' in id:
            id.remove('')
        print('id=', id)
        for i in id:
            book = Book.query.get_or_404(i)
            db.session.delete(book)
            # 每删除一个book,即将book信息添加record表中
            r = {
                'assetnumber': book.booknumber,
                'brand': '',
                'product': book.bookname,
                'depotname': '图书管理'
            }
            record = Record(**r)
            db.session.add(record)
        db.session.commit()
        flash('删除成功', 'success')
        return redirect_back('book.index')
Esempio n. 10
0
def delete_all(name):
    depot = Depot.query.filter_by(name=name).first()
    template_id = depot.template_id
    if request.method == 'POST':
        all_id = request.form.get('ids')
        all_id = all_id.split(',')
        if '' in all_id:
            all_id.remove('')
        if 'on' in all_id:
            all_id.remove('on')
        print("all_id=", all_id)
        all_id = list(map(int, all_id))
        for i in all_id:
            if template_id == 1:
                cmp = T1.query.filter(and_(T1.name == name,
                                           T1.id == i)).first()
            elif template_id == 2:
                cmp = T2.query.filter(and_(T2.name == name,
                                           T2.id == i)).first()
            elif template_id == 3:
                cmp = T3.query.filter(and_(T3.name == name,
                                           T3.id == i)).first()
            db.session.delete(cmp)
            # 删除cmp时,将cmp的信息写入record表中
            r = {
                'assetnumber': cmp.assetnumber,
                'brand': cmp.product_name,
                'product': cmp.model_name,
                'depotname': depot.name
            }
            record = Record(**r)
            db.session.add(record)
        db.session.commit()
        return redirect_back()
Esempio n. 11
0
def change_theme(theme_name):
    if theme_name not in current_app.config['AMEBLOG_THEMES'].keys():
        abort(404)

    response = make_response(redirect_back())
    response.set_cookie('theme', theme_name, max_age=30 * 24 * 60 * 60)
    return response
Esempio n. 12
0
def edit_profile_admin(user_id):
    user = User.query.get_or_404(user_id)
    form = EditProfileAdminForm(user=user)
    if form.validate_on_submit():
        user.name = form.name.data
        role = Role.query.get(form.role.data)
        if role.name == "Locked":
            user.lock()
        user.role = role
        user.bio = form.bio.data
        user.website = form.website.data
        user.location = form.location.data
        user.username = form.username.data
        user.email = form.email.data
        user.confirmed = form.confirmed.data
        user.active = form.active.data
        db.session.commit()
        flash('Profile edited', 'success')
        return redirect_back()
    form.name.data = user.name
    form.role.data = user.role_id
    form.bio.data = user.bio
    form.website.data = user.website
    form.location.data = user.location
    form.username.data = user.username
    form.email.data = user.email
    form.confirmed.data = user.confirmed
    form.active.data = user.active
    return render_template('admin/edit_profile.html', form=form, user=user)
Esempio n. 13
0
def delete_category(category_id):
    category = Category.query.order_by(
        Category.id.desc()).get_or_404(category_id)
    db.session.delete(category)
    db.session.commit()
    flash('该类别已删除', 'success')
    return redirect_back()
Esempio n. 14
0
def block_user(user_id):
    user = User.query.get_or_404(user_id)
    if user.is_admin:
        flash('不能封禁管理员。', 'warning')
    else:
        user.block()
        flash('该账户已封禁。', 'success')
    return redirect_back()
Esempio n. 15
0
def lock_user(user_id):
    user = User.query.get_or_404(user_id)
    if user.role.name in ["Administrator", "Moderator"]:
        flash("Permission denied", 'warning')
    else:
        user.lock()
        flash('Account locked', 'info')
    return redirect_back()
Esempio n. 16
0
def oauth_login(provider_name):
    if current_user.is_authenticated:
        return redirect_back()
    provider = providers[provider_name]
    callback = url_for('.oauth_callback',
                       provider_name=provider_name,
                       _external=True)
    return provider.authorize(callback=callback)
Esempio n. 17
0
def re_authenticate():
    if login_fresh():  # How does this do ??
        return redirect(url_for('main.index'))
    form = LoginForm()
    if form.validate_on_submit() and current_user.validate_password(form.password.data):
        confirm_login()  # How does this do ??
        return redirect_back()
    return render_template('auth/login.html', form=form)
Esempio n. 18
0
def unfollow(username):
    user = User.query.filter_by(username=username).first_or_404()
    if not current_user.is_following(user):
        flash('Not follow yet', 'info')
        return redirect(url_for('.index', username=username))

    current_user.unfollow(user)
    flash('User unfollowed.', 'info')
    return redirect_back()
Esempio n. 19
0
def delete_post(post_id):
    post = Post.query.get_or_404(post_id)
    if (current_user != post.author and not current_user.can('MODERATE')) \
            or not current_user.can('NEW_POST'):
        abort(403)
    db.session.delete(post)
    db.session.commit()
    flash('Post deleted.', 'success')
    return redirect_back()
Esempio n. 20
0
def unfollow(username):
    user = User.query.filter_by(username=username).first_or_404()
    if current_user.is_following(user):
        current_user.unfollow(user)
        flash("User unfollowed", 'success')
        return redirect_back()

    flash("Not yet followed", 'warning')
    return redirect(url_for('.index', username=username))
Esempio n. 21
0
def unfollow(username):
    user = User.query.filter_by(username=username).first_or_404()
    if not current_user.is_following(user):
        flash(f'你并没有关注{user.username}。', 'info')
        return redirect(url_for('user.index', username=username))

    current_user.unfollow(user)
    flash(f'取消了对{user.username}关注。', 'info')
    return redirect_back()
Esempio n. 22
0
def follow(username):
    user = User.query.filter_by(username=username).first_or_404()
    if current_user.is_following(user):
        flash(f'你已经关注过{user.username}了。', 'info')
        return redirect(url_for('user.index', username=username))

    current_user.follow(user)
    flash('关注成功。', 'success')
    return redirect_back()
Esempio n. 23
0
def set_comment(post_id):
    post = Post.query.get_or_404(post_id)
    if post.can_comment:
        post.can_comment = False
        flash('评论已禁用。', 'success')
    else:
        post.can_comment = True
        flash('已启用评论。', 'success')
    db.session.commit()
    return redirect_back()
Esempio n. 24
0
def set_comment(post_id):
    post = Post.query.get_or_404(post_id)
    if post.can_comments:
        post.can_comments = False
        flash('已关闭评论', 'info')
    else:
        post.can_comments = True
        flash('已开启评论', 'info')
    db.session.commit()
    return redirect_back(url_for('blog.show_post', post_id=post_id))
Esempio n. 25
0
def new_category():
    if g.category_form.validate_on_submit():
        name = g.category_form.name.data
        category = Category(name=name)
        db.session.add(category)
        db.session.commit()
        flash('Category created.', 'success')
        return redirect(url_for('admin.manage_category'))
    flash('Name already in use.')
    return redirect_back()
Esempio n. 26
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data.lower()).first()
        if user and user.validate_password(form.password.data):
            login_user(user, form.remember_me.data)
            flash('Login Success.', 'info')
            return redirect_back()
        flash('Invalid email or password.', 'warning')
    return render_template('auth/login.html', form=form)
Esempio n. 27
0
def follow(username):
    user = User.query.filter_by(username=username).first_or_404()
    if current_user.is_following(user):
        flash("Already followed", 'warning')
        return redirect(url_for('.index', username=username))
    current_user.follow(user)
    flash("User followed", 'success')
    if user.receive_follow_notifications:
        push_follow_notification(follower=current_user, receiver=user)
    return redirect_back()
Esempio n. 28
0
def set_comment(post_id):
    post = Post.query.get_or_404(post_id)
    if post.can_comment:
        post.can_comment = False
        flash('Comment disabled.', 'success')
    else:
        post.can_comment = True
        flash('Comment enabled.', 'success')
    db.session.commit()
    return redirect_back()
Esempio n. 29
0
def set_comment_status(comment_id):
    comment = Comment.query.get_or_404(comment_id)
    if comment.is_hidden:
        comment.is_hidden = False
        flash('Comment displayed.', 'success')
    else:
        comment.is_hidden = True
        flash('Comment hidden.', 'success')
    db.session.commit()
    return redirect_back()
Esempio n. 30
0
def follow(username):
    user = User.query.filter_by(username=username).first_or_404()
    if current_user.is_following(user):
        flash('早已关注.', 'info')
        return redirect(url_for('.index', username=username))

    current_user.follow(user)
    flash('用户已关注', 'success')
    if user.receive_follow_notification:
        push_follow_notification(follower=current_user, receiver=user)
    return redirect_back()