Esempio n. 1
0
def crop(medzdravaid):
	if current_user.role == 1 and current_user.id != medzdravaid:
		abort(404)
	form = CropAvatarForm()
	patient = User.query.filter_by(id = medzdravaid).first_or_404()

	if form.validate_on_submit():
		x = form.x.data
		y = form.y.data
		w = form.w.data
		h = form.h.data
		raw_file = patient.avatar_file_path
		filenames = avatars.crop_avatar(patient.avatar_file_path, x, y, w, h)
		os.remove(os.path.join(app.config['AVATARS_SAVE_PATH'], raw_file))
		os.remove(os.path.join(app.config['AVATARS_SAVE_PATH'], filenames[0]))
		os.remove(os.path.join(app.config['AVATARS_SAVE_PATH'], filenames[1]))
		setattr(patient, "avatar_file_path", filenames[2])
		db.session.commit()
		user = User.query.filter_by(id = int(medzdravaid)).first_or_404()
		if user.role == 1:
			return redirect(url_for('patient', medzdravaid = medzdravaid))
		elif user.role == 2:
			return redirect(url_for('vrach', medzdravaid = medzdravaid))
		elif user.role == 3:
			return redirect(url_for('administrator', medzdravaid = medzdravaid))
	return render_template('crop.html', patient = patient, form = form)
Esempio n. 2
0
def crop_avatar():
    form = CropAvatarForm()
    if form.validate_on_submit():
        x = form.x.data
        y = form.y.data
        w = form.w.data
        h = form.h.data
        filenames = avatars.crop_avatar(current_user.avatar_raw, x, y, w, h)
        previous_avatar_m = current_user.avatar_m
        previous_avatar_l = current_user.avatar_l
        current_user.avatar_m = filenames[1]
        current_user.avatar_l = filenames[2]
        rawpicture = current_user.avatar_raw
        current_user.avatar_raw = ''
        db.session.commit()
        os.remove(os.path.join(app.config['AVATARS_SAVE_PATH'], filenames[0]))
        if rawpicture:
            os.remove(os.path.join(app.config['AVATARS_SAVE_PATH'],
                                   rawpicture))
        if previous_avatar_m:
            os.remove(
                os.path.join(app.config['AVATARS_SAVE_PATH'],
                             previous_avatar_m))
        if previous_avatar_l:
            os.remove(
                os.path.join(app.config['AVATARS_SAVE_PATH'],
                             previous_avatar_l))
        flash('Image updated', 'success')
    return redirect(url_for('.set_avatar'))
Esempio n. 3
0
def profile(username):
    user = User.query.filter_by(username=username).first_or_404()
    form = UploadAvatarForm()
    if form.validate_on_submit():
        filename = secure_filename(form.image.data.filename)
        form.image.data.save(app.config['AVATARS_SAVE_PATH'] + '/' + filename)
        avatar_fname = avatars.crop_avatar(filename, 1, 1, 500, 500)
        user.avatar_l = avatar_fname[2]
        user.avatar_s = avatar_fname[1]
        db.session.commit()
        return redirect(
            url_for('profile', username=current_user.username, form=form))
    return render_template('profile.html', user=user, form=form)
Esempio n. 4
0
def crop_avatar():
    form = CropAvatarForm()
    if form.validate_on_submit():
        x = form.x.data
        y = form.y.data
        w = form.w.data
        h = form.h.data
        filenames = avatars.crop_avatar(current_user.avatar_raw, x, y, w, h)
        current_user.avatar_s = filenames[0]
        current_user.avatar_m = filenames[1]
        current_user.avatar_l = filenames[2]
        db.session.commit()
        flash('头像已更新。', 'success')
    return redirect(url_for('user.change_avatar'))
Esempio n. 5
0
def crop_avatar(user_id):
    user = User.query.get_or_404(user_id)
    form = CropAvatarForm()
    if form.validate_on_submit():
        x = form.x.data
        y = form.y.data
        w = form.w.data
        h = form.h.data
        filename = avatars.crop_avatar(current_user.avatar_raw, x, y, w, h)
        current_user.avatar_s = filename[0]
        current_user.avatar_m = filename[1]
        current_user.avatar_l = filename[2]
        db.session.commit()
        flash('头像保存成功', 'success')
    return redirect(url_for('.change_avatar', user_id=user.id))
Esempio n. 6
0
def crop_avatar(unit_id):
    unit = Unit.query.get(unit_id)
    form = CropAvatarForm()
    if form.validate_on_submit():
        x = form.x.data
        y = form.y.data
        w = form.w.data
        h = form.h.data
        filenames = avatars.crop_avatar(unit.avatar_raw, x, y, w, h)
        delete_avatar(unit.avatar_s)
        delete_avatar(unit.avatar_m)
        delete_avatar(unit.avatar_l)
        unit.avatar_s = filenames[0]
        unit.avatar_m = filenames[1]
        unit.avatar_l = filenames[2]
        db.session.commit()
        flash('头像已经被更改', 'success')
        return redirect(url_for('patient_profile', unit_id=unit.id))
    flash_errors(form)
    return redirect(url_for('change_avatar', unit_id=unit.id))