Tambah peran Dosen MK/RPS+MK, komponen penilaian baku, dan bantu isi RPS

- Peran dosen dipecah jadi dosen_mk (nilai & portofolio saja, RPS baca-only)
  dan dosen_rps_mk (bisa edit RPS juga); migrasi otomatis dari skema lama.
- Rekap Bobot Penilaian RPS pakai 6 komponen teknik asesmen baku prodi;
  total wajib tepat 100%, komponen individual boleh dikosongkan.
- Dropdown & daftar Sub-CPMK tak lagi terpotong teksnya.
- Bagian F (Rencana Mingguan): tombol "Isi Otomatis" per baris (termasuk
  usulan Bobot) yang muncul setelah Sub-CPMK dipilih, plus panel contoh
  teks bantu per kolom.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Power BI Dev
2026-07-21 08:45:56 +07:00
parent 9be6bd03e3
commit a45b08b00e
7 changed files with 175 additions and 45 deletions
+9 -6
View File
@@ -5,15 +5,17 @@
{% if pesan %}<div class="info">{{ pesan }}</div>{% endif %}
<h2 class="bagian">A. Akun Pengguna &amp; Penugasan Mata Kuliah</h2>
<p class="keterangan">Dosen hanya dapat mengedit RPS/portofolio dan melihat nilai
mahasiswa pada MK yang ditugaskan kepadanya. Kaprodi dapat mengakses semuanya.</p>
<p class="keterangan"><b>Dosen RPS + MK</b> dapat mengedit RPS, nilai, dan portofolio
pada MK yang ditugaskan. <b>Dosen MK</b> hanya dapat mengedit nilai &amp; portofolio
pada MK yang ditugaskan — halaman RPS terbuka hanya untuk dibaca. Kaprodi dapat
mengakses semuanya.</p>
<div class="gulir">
<table class="grid">
<thead>
<tr>
<th style="width:170px">Nama</th>
<th style="width:160px">NIP</th>
<th style="width:90px">Peran</th>
<th style="width:130px">Peran</th>
<th>MK yang Diampu</th>
<th style="width:340px">Tindakan</th>
</tr>
@@ -23,7 +25,7 @@
<tr>
<td>{{ p.nama }}</td>
<td>{{ p.username }}</td>
<td>{{ 'Kaprodi' if p.role == 'kaprodi' else 'Dosen' }}</td>
<td>{{ {'kaprodi': 'Kaprodi', 'dosen_rps_mk': 'Dosen RPS + MK', 'dosen_mk': 'Dosen MK'}[p.role] }}</td>
<td>
{% if p.role == 'kaprodi' %}
<i style="color:var(--grey)">semua MK</i>
@@ -71,8 +73,9 @@
<label>Nama lengkap <input type="text" name="nama" required style="width:230px"></label>
<label>NIP <input type="text" name="nip" required style="width:180px"></label>
<label>Peran
<select name="role" style="width:110px">
<option value="dosen" selected>Dosen</option>
<select name="role" style="width:150px">
<option value="dosen_mk" selected>Dosen MK</option>
<option value="dosen_rps_mk">Dosen RPS + MK</option>
<option value="kaprodi">Kaprodi</option>
</select>
</label>