Jelajahi Sumber

Merge branch 'master' of http://git.hghweb.ir/ali.s/palizvani-front-vite

ali 2 tahun lalu
induk
melakukan
107b809553

+ 3 - 3
src/api/models/Classroom.js

@@ -11,7 +11,7 @@ export default class ClassroomAPI extends APIRepository {
       base: '/lma/classrooms',
       myAsGraderClassrooms: '/lma/classrooms/my_as_a_grader_classrooms',
       byId: (id) => '/lma/classrooms/' + id,
-      close: (id) => '/lma/classrooms/' + id + '/close',
+      toggleOngoingStatus: (id) => '/lma/classrooms/' + id + '/toggle_ongoing_status',
       enroll: (id) => '/lma/classrooms/' + id + '/enroll',
       graders: (id) => '/lma/classrooms/' + id + '/graders',
       drop: (id) => '/lma/classrooms/' + id + '/drop',
@@ -139,11 +139,11 @@ export default class ClassroomAPI extends APIRepository {
     })
   }
 
-  close (id) {
+  toggleOngoingStatus (id) {
     return this.sendRequest({
       apiMethod: 'put',
       api: this.api,
-      request: this.APIAdresses.close(id),
+      request: this.APIAdresses.toggleOngoingStatus(id),
       resolveCallback: (response) => {
         return new Classroom(response.data)
       },

+ 11 - 11
src/components/Widgets/Classroom/AdminClassroomShow/components/AnnounceResultList.vue

@@ -21,12 +21,11 @@
              outline
              class="q-ml-md"
              @click="notifyAnnounceResult" />
-      <q-btn label="بستن کلاس"
+      <q-btn :label="classroomOngoingStatus ? 'بستن کلاس' : 'فعالسازی کلاس'"
              color="primary"
-             :loading="closeClassroomLoading"
              outline
              class="q-ml-md"
-             @click="closeClassroom" />
+             @click="toggleOngoingStatus" />
     </template>
     <template v-slot:entity-index-table-cell="{inputData}">
       <template v-if="inputData.col.name === 'actions'">
@@ -127,7 +126,8 @@ export default {
     return {
       mounted: false,
       exportReportLoading: false,
-      closeClassroomLoading: false,
+      classroomOngoingStatus: this.classroom.is_ongoing,
+      toggleOngoingStatusLoading: false,
       notifyAnnounceResultLoading: false,
       updateTranscriptSheetLoading: false,
 
@@ -244,15 +244,15 @@ export default {
     this.mounted = true
   },
   methods: {
-    closeClassroom () {
-      this.closeClassroomLoading = true
-      APIGateway.classroom.close(this.classroom.id)
-        .then(() => {
-          this.closeClassroomLoading = false
-          this.$refs.announceResultList.search()
+    toggleOngoingStatus () {
+      this.toggleOngoingStatusLoading = true
+      APIGateway.classroom.toggleOngoingStatus(this.classroom.id)
+        .then((response) => {
+          this.classroomOngoingStatus = response.is_ongoing
+          this.toggleOngoingStatusLoading = false
         })
         .catch(() => {
-          this.closeClassroomLoading = false
+          this.toggleOngoingStatusLoading = false
         })
     },
     notifyAnnounceResult () {

+ 1 - 0
src/models/Classroom.js

@@ -82,6 +82,7 @@ class Classroom extends Model {
       { key: 'description' },
       { key: 'is_current_user_registered' },
       { key: 'publish_time' },
+      { key: 'is_ongoing' },
       { key: 'creation_time' },
       { key: 'last_modification_time' },
       { key: 'is_active' },