예제 #1
0
파일: __init__.py 프로젝트: ap13p/elearn
def home():
    dosens = (User.select(User, MataKuliah)
              .join(MataKuliah)
              .join(Level, JOIN.LEFT_OUTER, on=(User.level == Level.id))
              .join(Tugas, JOIN.LEFT_OUTER,
                    on=(Tugas.mata_kuliah == MataKuliah.id))
              .join(Profile, on=(User.profile == Profile.id))
              .group_by(User)
              .where(Level.name == 'dosen')
              .order_by(Profile.nama.asc()))
    dosen_id = request.args.get('dosen_id', None)
    if dosen_id:
        dosen = dosens.filter(User.id == dosen_id).get()
    else:
        dosen = dosens.first()
        dosen_id = dosen.id
    posts = Post.select().order_by(Post.id.desc())
    user = g.user
    return render_template('mhs/home.html', dosen=dosen, dosens=dosens,
                           posts=posts, dosen_id=dosen_id)
예제 #2
0
파일: __init__.py 프로젝트: ap13p/elearn
def update_info(user_id):
    if not g.user.id == user_id:
        return abort(401)
    user = User.select().join(Profile).where(User.id == user_id).get()
    form = UpdateInfoForm(request.form, obj=user)
    form.action = url_for('update-info', user_id=user_id)
    if form.validate_on_submit():
        user.profile.nama = form.profile.nama.data
        user.profile.no_telpon = form.profile.no_telpon.data
        user.profile.tanggal_lahir = form.profile.tanggal_lahir.data
        user.profile.alamat = form.profile.alamat.data
        path = get_user_media_path(user)
        phile = request.files['profile-image']
        if phile:
            path = os.path.join(path, secure_filename(phile.filename))
            phile.save(path)
            user.profile.image = url_for('media', filepath=path)
        user.profile.save()
        user.save()
        return redirect(url_for('mhs:home'))
    return render_template('update_info.html', form=form, user=user)
예제 #3
0
파일: user.py 프로젝트: ap13p/elearn
def user_list():
    users = User.select()
    _level = request.args.get('level', None)
    if _level:
        users = users.join(Level).where(Level.name == _level)
    return object_list('admin/user/list.html', users, 'users', paginate_by=10)
예제 #4
0
파일: others.py 프로젝트: ap13p/elearn
def get_dosen():
    level = Level.select().where(Level.name == 'dosen')
    users = [(user.id, user.profile.nama) for user in
             User.select().where(User.level == level)]
    return users