{% extends "base.html" %} {% block judul %}Kelola Akun & Mahasiswa — RPS & Portofolio UNTAN{% endblock %} {% block isi %}
Dosen RPS + MK dapat mengedit RPS, nilai, dan portofolio pada MK yang ditugaskan. Dosen MK hanya dapat mengedit nilai & portofolio pada MK yang ditugaskan — halaman RPS terbuka hanya untuk dibaca. Kaprodi dapat mengakses semuanya. Kosongkan kolom kelas bila dosen mengampu seluruh kelas MK itu; isi (mis. "A" atau "A,B") bila dosen hanya boleh melihat & menilai mahasiswa kelas tertentu — cocok untuk MK dengan beberapa kelas paralel yang diampu dosen berbeda.
| Nama | NIP | Peran | MK yang Diampu | Tindakan |
|---|---|---|---|---|
| {{ p.nama }} | {{ p.username }} | {{ {'kaprodi': 'Kaprodi', 'dosen_rps_mk': 'Dosen RPS + MK', 'dosen_mk': 'Dosen MK'}[p.role] }} |
{% if p.role == 'kaprodi' %}
semua MK
{% else %}
{% if p.mk %}
{% for kode in p.mk %}{{ kode }}{% if p.kelas_map.get(kode) %} (kelas {{ p.kelas_map[kode] }}){% endif %}{{ ', ' if not loop.last }}{% endfor %}
{% else %}—{% endif %}
Ubah penugasan… |
{% if p.id != user.id %} {% endif %} |
NIP menjadi username sekaligus password awal — dosen langsung bisa masuk dengan NIP-nya.
Unggah satu file Excel berisi seluruh kontrak semester ini (kolom: NPM, Nama, Kode MK, Kelas — satu baris per kontrak). Impor baru menggantikan seluruh daftar tahun ajaran aktif. Daftar ini dipakai untuk mengisi otomatis template nilai tiap MK.
{% if mhs %}| Kode MK | Mahasiswa | Kelas |
|---|---|---|
| {{ mk.kode }} — {{ mk.nama }} | {{ mhs[mk.kode].n }} | {{ mhs[mk.kode].kelas|join(', ') if mhs[mk.kode].kelas else '—' }} |
Belum ada daftar mahasiswa untuk tahun ajaran ini.
{% endif %}Unduh salinan seluruh isian secara berkala dan simpan di tempat aman — terutama sebelum pemutakhiran aplikasi atau pergantian server.
Unduh cadangan JSON (seluruh isian) Unduh cadangan SQLite (file DB mentah) {% endblock %}