|
|
@@ -80,6 +80,7 @@
|
|
|
|
|
|
<!-- Instrutor (Neurotrainer da unidade) -->
|
|
|
<DefaultSelect
|
|
|
+ v-if="canViewUsers"
|
|
|
v-model="form.instructor"
|
|
|
label="Neurotrainer"
|
|
|
:options="instructorOptions"
|
|
|
@@ -138,6 +139,7 @@ import DefaultInputDatePicker from "src/components/defaults/DefaultInputDatePick
|
|
|
import { createClass, updateClass } from "src/api/class";
|
|
|
import { getUnitPackages } from "src/api/package";
|
|
|
import { getUsersByUnit } from "src/api/user";
|
|
|
+import { permissionStore } from "src/stores/permission";
|
|
|
|
|
|
defineEmits([...useDialogPluginComponent.emits]);
|
|
|
|
|
|
@@ -151,6 +153,8 @@ const { dialogRef, onDialogHide, onDialogOK, onDialogCancel } =
|
|
|
useDialogPluginComponent();
|
|
|
|
|
|
const $q = useQuasar();
|
|
|
+const permissions = permissionStore();
|
|
|
+const canViewUsers = permissions.getAccess("franchisee_users", "view");
|
|
|
|
|
|
const formRef = ref(null);
|
|
|
const saving = ref(false);
|
|
|
@@ -185,11 +189,15 @@ const loadPackages = async () => {
|
|
|
};
|
|
|
|
|
|
const loadInstructors = async () => {
|
|
|
+ if (!canViewUsers) return;
|
|
|
+
|
|
|
loadingInstructors.value = true;
|
|
|
try {
|
|
|
const users = await getUsersByUnit();
|
|
|
instructorOptions.value = (users ?? []).filter(
|
|
|
- (u) => u.user_type === "NEUROTRAINER",
|
|
|
+ (u) =>
|
|
|
+ u.user_type_system_key === "NEUROTRAINER" ||
|
|
|
+ u.user_type === "NEUROTRAINER",
|
|
|
);
|
|
|
} catch (e) {
|
|
|
console.error("Erro ao carregar neurotrainers:", e);
|
|
|
@@ -229,6 +237,6 @@ const onSubmit = async () => {
|
|
|
|
|
|
onMounted(() => {
|
|
|
loadPackages();
|
|
|
- loadInstructors();
|
|
|
+ if (canViewUsers) loadInstructors();
|
|
|
});
|
|
|
</script>
|