Browse Source

all events

ali 3 years ago
parent
commit
407d67dfa4

+ 1 - 0
src/api/models/Registration.js

@@ -24,6 +24,7 @@ export default class RegistrationAPI extends APIRepository {
       request: this.APIAdresses.base,
       data: this.getNormalizedSendData({
         classroom: null, // Number
+        classroom__unit__category__type: null, // String
         owner: null, // Number
         per_page: 10, // Number
         page: 1 // Number

+ 30 - 3
src/components/Widgets/Registration/RegistrationList/RegistrationList.vue

@@ -3,7 +3,7 @@
        :style="localOptions.style">
     <template v-if="isUserLogin">
       <q-banner class="q-mb-md">
-        دوره های شما
+        {{ mainTitle }}
       </q-banner>
 
       <template v-if="!registrations.loading && registrations.list.length > 0">
@@ -16,7 +16,7 @@
         </div>
       </template>
       <div v-else-if="!registrations.loading && registrations.list.length === 0">
-        دوره ای یافت نشد.
+        {{ notFoundMessage }}
       </div>
       <div v-else-if="registrations.loading">
         <q-linear-progress v-if="registrations.loading"
@@ -39,16 +39,43 @@ export default {
   mixins: [mixinWidget, mixinAuth],
   data: () => {
     return {
+      defaultOptions: {
+        classroomType: 'TRAINING'
+      },
       registrations: new RegistrationList()
     }
   },
+  computed: {
+    mainTitle () {
+      if (this.localOptions.classroomType === 'TRAINING') {
+        return 'دوره های شما'
+      }
+      if (this.localOptions.classroomType === 'EVENT') {
+        return 'رویداد های شما'
+      }
+      return 'دوره های شما'
+    },
+    notFoundMessage () {
+      if (this.localOptions.classroomType === 'TRAINING') {
+        return 'دوره ای یافت نشد.'
+      }
+      if (this.localOptions.classroomType === 'EVENT') {
+        return 'رویدادی یافت نشد.'
+      }
+      return 'دوره ای یافت نشد.'
+    }
+  },
   mounted() {
     this.getRegistrations()
   },
   methods: {
     getRegistrations () {
       this.registrations.loading = true
-      APIGateway.registration.index({ per_page: 9999, owner: this.user.id })
+      APIGateway.registration.index({
+        per_page: 9999,
+        owner: this.user.id,
+        classroom__unit__category__type: this.localOptions.classroomType
+      })
         .then((registrations) => {
           this.registrations = new RegistrationList(registrations.list)
           this.registrations.loading = false