Spaces:
Running
Running
File size: 2,199 Bytes
428a607 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
from models.lecturer import Lecturer
from flask import Blueprint, request, redirect, url_for, flash
from middleware import role_required
from firebase_config import storage_upload_file, storage_delete_file
lecturer = Blueprint('lecturer', __name__, template_folder='templates', url_prefix='/dashboard/lecturer')
@lecturer.route('/create', methods=['POST'])
@role_required('admin')
def create():
nama = request.form['nama']
kbk = request.form['kbk']
try:
foto = storage_upload_file(request.files['foto'], 'lecturers')
lecturer = Lecturer(nama=nama, kelompok_bidang_keahlian=kbk, foto=foto)
lecturer.save()
flash(('Tambah Data Sukses', 'Data dosen berhasil ditambahkan'), 'success')
except Exception as e:
flash(('Tambah Data Gagal', 'Terjadi kesalahan server saat menambahkan'), 'error')
return redirect(url_for('dashboard.lecturer'))
@lecturer.route('/update', methods=['POST'])
@role_required('admin')
def update():
id = request.form['id']
nama = request.form['nama']
kbk = request.form['kbk']
foto = request.form['prev_foto']
if request.files['foto'].filename != '':
storage_delete_file(foto)
foto = storage_upload_file(request.files['foto'], 'lecturers')
try:
lecturer = Lecturer(id=id, nama=nama, kelompok_bidang_keahlian=kbk, foto=foto)
lecturer.update()
flash(('Perbarui Data Sukses', 'Data dosen berhasil diperbarui'), 'success')
except Exception as e:
flash(('Perbarui Data Gagal', 'Terjadi kesalahan server saat memperbarui'), 'error')
return redirect(url_for('dashboard.lecturer'))
@lecturer.route('/delete', methods=['POST'])
@role_required('admin')
def delete():
id = request.form['id']
foto = request.form['foto']
try:
lecturer = Lecturer(id=id, foto=foto)
lecturer.delete()
storage_delete_file(lecturer.foto)
flash(('Hapus Data Sukses', 'Data dosen berhasil dihapus'), 'success')
except Exception as e:
flash(('Hapus Data Gagal', 'Terjadi kesalahan server saat menghapus'), 'error')
return redirect(url_for('dashboard.lecturer'))
|