Minor: Format code

pull/5202/head
Angel Fernando Quiroz Campos 2 years ago
parent 986821f8cb
commit 1aa527866e
  1. 203
      assets/vue/components/resource_links/EditLinks.vue
  2. 2
      assets/vue/views/documents/Update.vue
  3. 97
      assets/vue/views/documents/UpdateFile.vue
  4. 2
      assets/vue/views/message/Update.vue
  5. 9
      assets/vue/views/personalfile/Update.vue

@ -13,11 +13,11 @@
:loading="isLoading"
:multiple="true"
:options="users"
:placeholder="$t('Share with User')"
:searchable="true"
label="username"
limit="3"
limit-text="3"
:placeholder="$t('Share with User')"
track-by="id"
@select="addUser"
@search-change="asyncFind"
@ -26,188 +26,185 @@
</template>
<script>
import ShowLinks from "../../components/resource_links/ShowLinks.vue";
import {computed, ref, toRefs} from "vue";
import axios from "axios";
import {ENTRYPOINT} from "../../config/entrypoint";
import useVuelidate from "@vuelidate/core";
import VueMultiselect from 'vue-multiselect'
import isEmpty from 'lodash/isEmpty';
import {mapGetters, useStore} from "vuex";
import {RESOURCE_LINK_PUBLISHED} from "./visibility.js";
import ShowLinks from "../../components/resource_links/ShowLinks.vue"
import { computed, ref, toRefs } from "vue"
import axios from "axios"
import { ENTRYPOINT } from "../../config/entrypoint"
import useVuelidate from "@vuelidate/core"
import VueMultiselect from "vue-multiselect"
import isEmpty from "lodash/isEmpty"
import { mapGetters, useStore } from "vuex"
import { RESOURCE_LINK_PUBLISHED } from "./visibility.js"
export default {
name: 'EditLinks',
name: "EditLinks",
components: {
VueMultiselect,
ShowLinks
ShowLinks,
},
props: {
item: {
type: Object,
required: true
required: true,
},
editStatus: {
type: Boolean,
required: false,
default: true
default: true,
},
showStatus: {
type: Boolean,
required: false,
default: true
default: true,
},
linksType: {
type: String,
required: true,
default: 'user'
default: "user",
},
showShareWithUser: {
type: Boolean,
required: true,
default: true
}
default: true,
},
},
setup(props) {
const users = ref([]);
const selectedUsers = ref([]);
const isLoading = ref(false);
const store = useStore();
const { showShareWithUser } = toRefs(props);
const users = ref([])
const selectedUsers = ref([])
const isLoading = ref(false)
const store = useStore()
const { showShareWithUser } = toRefs(props)
function addUser(userResult) {
if (isEmpty(props.item.resourceLinkListFromEntity)) {
props.item.resourceLinkListFromEntity = [];
props.item.resourceLinkListFromEntity = []
}
const someLink = props.item.resourceLinkListFromEntity.some(link => link.user.username === userResult.username);
const someLink = props.item.resourceLinkListFromEntity.some((link) => link.user.username === userResult.username)
if (someLink) {
return;
return
}
props.item.resourceLinkListFromEntity.push(
{
uid: userResult.id,
user: {username: userResult.username},
visibility: RESOURCE_LINK_PUBLISHED
}
);
props.item.resourceLinkListFromEntity.push({
uid: userResult.id,
user: { username: userResult.username },
visibility: RESOURCE_LINK_PUBLISHED,
})
}
function findUsers(query) {
axios
.get(ENTRYPOINT + 'users', {
params: {
username: query
}
})
.then(response => {
isLoading.value = false;
let data = response.data;
users.value = data['hydra:member'];
})
.catch(function (error) {
isLoading.value = false;
console.log(error);
});
.get(ENTRYPOINT + "users", {
params: {
username: query,
},
})
.then((response) => {
isLoading.value = false
let data = response.data
users.value = data["hydra:member"]
})
.catch(function (error) {
isLoading.value = false
console.log(error)
})
}
function findUserRelUsers(query) {
const currentUser = computed(() => store.getters['security/getUser']);
const currentUser = computed(() => store.getters["security/getUser"])
axios
.get(ENTRYPOINT + 'user_rel_users', {
params: {
user: currentUser.value['id'],
'friend.username': query
}
})
.then(response => {
isLoading.value = false;
users.value = response.data['hydra:member'].map(member => member.friend);
})
.catch(function (error) {
isLoading.value = false;
});
.get(ENTRYPOINT + "user_rel_users", {
params: {
user: currentUser.value["id"],
"friend.username": query,
},
})
.then((response) => {
isLoading.value = false
users.value = response.data["hydra:member"].map((member) => member.friend)
})
.catch(function () {
isLoading.value = false
})
}
function findStudentsInCourse(query) {
const searchParams = new URLSearchParams(window.location.search);
const cId = parseInt(searchParams.get('cid'));
const sId = parseInt(searchParams.get('sid'));
const searchParams = new URLSearchParams(window.location.search)
const cId = parseInt(searchParams.get("cid"))
const sId = parseInt(searchParams.get("sid"))
if (!cId && !sId) {
return;
return
}
let endpoint = ENTRYPOINT;
let endpoint = ENTRYPOINT
let params = {
'user.username': query,
};
"user.username": query,
}
if (sId) {
params.session = endpoint + `sessions/${sId}`;
params.session = endpoint + `sessions/${sId}`
}
if (cId) {
if (sId) {
endpoint += `session_rel_course_rel_users`;
params.course = endpoint + `courses/${cId}`;
endpoint += `session_rel_course_rel_users`
params.course = endpoint + `courses/${cId}`
} else {
endpoint += `courses/${cId}/users`;
endpoint += `courses/${cId}/users`
}
} else {
endpoint += `session_rel_users`;
endpoint += `session_rel_users`
}
axios
.get(endpoint, {
params
})
.then(response => {
isLoading.value = false;
users.value = response.data['hydra:member'].map(member => member.user);
})
.catch(function (error) {
isLoading.value = false;
});
.get(endpoint, {
params,
})
.then((response) => {
isLoading.value = false
users.value = response.data["hydra:member"].map((member) => member.user)
})
.catch(function () {
isLoading.value = false
})
}
function asyncFind(query) {
if (query.toString().length < 3) {
return;
return
}
isLoading.value = true;
isLoading.value = true
switch (props.linksType) {
case 'users':
findUsers(query);
break;
case "users":
findUsers(query)
break
case 'user_rel_users':
findUserRelUsers(query);
break;
case "user_rel_users":
findUserRelUsers(query)
break
case 'course_students':
findStudentsInCourse(query);
break;
case "course_students":
findStudentsInCourse(query)
break
}
}
return {v$: useVuelidate(), users, selectedUsers, asyncFind, addUser, isLoading, showShareWithUser};
return { v$: useVuelidate(), users, selectedUsers, asyncFind, addUser, isLoading, showShareWithUser }
},
computed: {
...mapGetters({
'isAuthenticated': 'security/isAuthenticated',
'currentUser': 'security/getUser',
})
}
};
isAuthenticated: "security/isAuthenticated",
currentUser: "security/getUser",
}),
},
}
</script>
<style src="vue-multiselect/dist/vue-multiselect.css"></style>

@ -30,4 +30,4 @@ const isCurrentTeacher = computed(() => store.getters["security/isCurrentTeacher
const { item, retrieve, updateItemWithFormData, isLoading } = useDatatableUpdate("Documents")
retrieve()
</script>
</script>

@ -2,9 +2,9 @@
<div v-if="!isLoading && item && isCurrentTeacher">
<!-- :handle-delete="del"-->
<Toolbar
:handle-back="handleBack"
:handle-reset="resetForm"
:handle-submit="onSendFormData"
:handle-back="handleBack"
/>
<div class="documents-layout">
<div class="template-list-container">
@ -26,8 +26,12 @@
/>
</DocumentsForm>
<Panel
v-if="$route.query.filetype === 'certificate' "
:header="$t('Create your certificate copy-pasting the following tags. They will be replaced in the document by their student-specific value:')"
v-if="$route.query.filetype === 'certificate'"
:header="
$t(
'Create your certificate copy-pasting the following tags. They will be replaced in the document by their student-specific value:',
)
"
>
<div v-html="finalTags" />
</Panel>
@ -47,7 +51,7 @@ import Toolbar from "../../components/Toolbar.vue"
import UpdateMixin from "../../mixins/UpdateMixin"
import EditLinks from "../../components/resource_links/EditLinks.vue"
import TemplateList from "../../components/documents/TemplateList.vue"
import axios from "axios";
import axios from "axios"
const servicePrefix = "Documents"
@ -61,14 +65,14 @@ export default {
Toolbar,
DocumentsForm,
},
mixins: [UpdateMixin],
data() {
const finalTags = this.getCertificateTags();
const finalTags = this.getCertificateTags()
return {
templates: [],
finalTags,
};
}
},
mixins: [UpdateMixin],
computed: {
...mapFields("documents", {
deleteLoading: "isLoading",
@ -84,55 +88,56 @@ export default {
},
methods: {
handleBack() {
this.$router.back();
this.$router.back()
},
fetchTemplates() {
const cid = this.$route.query.cid;
axios.get(`/template/all-templates/${cid}`)
.then(response => {
this.templates = response.data;
console.log('Templates fetched successfully:', this.templates);
const cid = this.$route.query.cid
axios
.get(`/template/all-templates/${cid}`)
.then((response) => {
this.templates = response.data
console.log("Templates fetched successfully:", this.templates)
})
.catch((error) => {
console.error("Error fetching the templates:", error)
})
.catch(error => {
console.error('Error fetching the templates:', error);
});
},
addTemplateToEditor(templateContent) {
if (this.$refs.updateForm && typeof this.$refs.updateForm.updateContent === 'function') {
this.$refs.updateForm.updateContent(templateContent);
if (this.$refs.updateForm && typeof this.$refs.updateForm.updateContent === "function") {
this.$refs.updateForm.updateContent(templateContent)
}
},
getCertificateTags(){
let finalTags = "";
getCertificateTags() {
let finalTags = ""
let tags = [
'((user_firstname))',
'((user_lastname))',
'((user_username))',
'((gradebook_institution))',
'((gradebook_sitename))',
'((teacher_firstname))',
'((teacher_lastname))',
'((official_code))',
'((date_certificate))',
'((date_certificate_no_time))',
'((course_code))',
'((course_title))',
'((gradebook_grade))',
'((certificate_link))',
'((certificate_link_html))',
'((certificate_barcode))',
'((external_style))',
'((time_in_course))',
'((time_in_course_in_all_sessions))',
'((start_date_and_end_date))',
'((course_objectives))',
];
"((user_firstname))",
"((user_lastname))",
"((user_username))",
"((gradebook_institution))",
"((gradebook_sitename))",
"((teacher_firstname))",
"((teacher_lastname))",
"((official_code))",
"((date_certificate))",
"((date_certificate_no_time))",
"((course_code))",
"((course_title))",
"((gradebook_grade))",
"((certificate_link))",
"((certificate_link_html))",
"((certificate_barcode))",
"((external_style))",
"((time_in_course))",
"((time_in_course_in_all_sessions))",
"((start_date_and_end_date))",
"((course_objectives))",
]
for (const tag of tags){
finalTags += "<p class=\"m-0\">"+tag+"</p>"
for (const tag of tags) {
finalTags += '<p class="m-0">' + tag + "</p>"
}
return finalTags;
return finalTags
},
...mapActions("documents", {
createReset: "resetCreate",
@ -144,7 +149,7 @@ export default {
}),
},
mounted() {
this.fetchTemplates();
this.fetchTemplates()
},
}
</script>

@ -64,4 +64,4 @@ export default {
}),
},
}
</script>
</script>

@ -1,5 +1,10 @@
<template>
<Button :label="$t('Back')" icon="pi pi-chevron-left" @click="goBack" class="mb-4" />
<Button
:label="$t('Back')"
class="mb-4"
icon="pi pi-chevron-left"
@click="goBack"
/>
<div v-if="!isLoading && item">
<!-- :handle-delete="del"-->
<Toolbar
@ -53,7 +58,7 @@ export default {
},
methods: {
goBack() {
this.$router.go(-1);
this.$router.go(-1)
},
...mapActions("personalfile", {
createReset: "resetCreate",

Loading…
Cancel
Save