Bladeren bron

Roles Part 2

master
30117125 4 jaren geleden
bovenliggende
commit
3f2843c9fa

+ 31
- 5
src/components/admin/fees/feesPage.vue Bestand weergeven

@@ -1,20 +1,46 @@
1 1
 <template>
2
-  <main id="main" style="padding-top:50px; padding-bottom:100px">
2
+  <main id="main" style=" padding-bottom:100px">
3 3
     <div class="container">
4
-      <div class="section-header">
5
-        <h2>Fees</h2>
4
+      <div class="row">
5
+        <div class="col">
6
+          <div class="section-header">
7
+            <h2>Fees</h2>
8
+          </div>
9
+        </div>
10
+      </div>
11
+      <div v-if="checkAccess" class="row">
12
+        <div class="col">
13
+          <listingFee />
14
+        </div>
15
+      </div>
16
+      <div v-else class="row">
17
+        <div class="col">
18
+          <alert :text="'You don\'t have permission to view this page'" :type="'ERROR'" />
19
+        </div>
6 20
       </div>
7
-      <listingFee />
8 21
     </div>
9 22
   </main>
10 23
 </template>
11 24
 
12 25
 <script>
13 26
 /* eslint-disable */
27
+import Log from "../../../assets/Log";
28
+import alert from "../../shared/alert";
14 29
 import listingFee from "./listingFee";
30
+
15 31
 export default {
16 32
   components: {
17
-    listingFee
33
+    listingFee,
34
+    alert
35
+  },
36
+  computed: {
37
+    checkAccess() {
38
+      if (Log.getUser().role === "Super Admin") {
39
+        return true;
40
+      } else {
41
+        return false;
42
+      }
43
+    }
18 44
   }
19 45
 };
20 46
 </script>

+ 31
- 18
src/components/admin/misc/termsConditions.vue Bestand weergeven

@@ -8,28 +8,32 @@
8 8
           </div>
9 9
         </div>
10 10
       </div>
11
-
12
-      <div class="row">
13
-        <div class="col-md-6">
14
-          <label for="version" class="uniSelectLabel">Version:</label>
15
-          <input name="version" type="text" v-model="version" class="mt-5 mb-3 ml-2" />
11
+      <div v-if="checkAccess">
12
+        <div class="row">
13
+          <div class="col-md-6">
14
+            <label for="version" class="uniSelectLabel">Version:</label>
15
+            <input name="version" type="text" v-model="version" class="mt-5 mb-3 ml-2" />
16
+          </div>
17
+          <div class="col-md-6 mt-5">
18
+            <p style="float:right">Last Modified: {{ getModiefiedDate }}</p>
19
+          </div>
16 20
         </div>
17
-        <div class="col-md-6 mt-5">
18
-          <p style="float:right">Last Modified: {{ getModiefiedDate }}</p>
21
+        <div class="row">
22
+          <div class="col">
23
+            <vue-editor v-model="termsInput" :editor-toolbar="customToolbar" />
24
+          </div>
19 25
         </div>
20
-      </div>
21
-      <div class="row">
22
-        <div class="col">
23
-          <vue-editor v-model="termsInput" :editor-toolbar="customToolbar" />
26
+        <div class="row">
27
+          <div class="col-md-2 mt-3">
28
+            <button @click="saveTerms()" class="btn-solid-blue">Save</button>
29
+          </div>
30
+          <div v-if="updated" class="col mt-3">
31
+            <alert :text="'Terms and Contidtions Updated!!'" :type="'SUCCESS'" />
32
+          </div>
24 33
         </div>
25 34
       </div>
26
-      <div class="row">
27
-        <div class="col-md-2 mt-3">
28
-          <button @click="saveTerms()" class="btn-solid-blue">Save</button>
29
-        </div>
30
-        <div v-if="updated" class="col mt-3">
31
-          <alert :text="'Terms and Contidtions Updated!!'" :type="'SUCCESS'" />
32
-        </div>
35
+      <div v-else>
36
+        <alert :text="'You don\'t have permission to view this page'" :type="'ERROR'" />
33 37
       </div>
34 38
     </div>
35 39
     <div v-if="wait" id="preloader"></div>
@@ -40,6 +44,8 @@
40 44
 /* eslint-disable */
41 45
 import { VueEditor } from "vue2-editor";
42 46
 import { mapActions, mapGetters, mapState } from "vuex";
47
+
48
+import Log from "../../../assets/Log";
43 49
 import alert from "../../shared/alert";
44 50
 
45 51
 export default {
@@ -93,6 +99,13 @@ export default {
93 99
     getModiefiedDate() {
94 100
       var date = new Date(this.terms.modified);
95 101
       return date.getDate() + " / " + (date.getMonth() + 1) + " / " + date.getFullYear();
102
+    },
103
+    checkAccess() {
104
+      if (Log.getUser().role === "Super Admin") {
105
+        return true;
106
+      } else {
107
+        return false;
108
+      }
96 109
     }
97 110
   }
98 111
 };

+ 44
- 37
src/components/admin/property/propertyTypeEdit.vue Bestand weergeven

@@ -1,19 +1,14 @@
1 1
 <template>
2
-  <div>
2
+  <main id="main" style="margin-top:200px; padding-bottom:50px">
3 3
     <div class="container">
4
-      <br />
5 4
       <div class="row">
6
-        <div class="col-md-12 col-lg-8">
7
-          <div class="title-box-d">
8
-            <h1 class="title-d" style="text-align:left; font-size: 250%">
9
-              Property Type
10
-            </h1>
5
+        <div class="col">
6
+          <div class="section-header">
7
+            <h2>Property Type</h2>
11 8
           </div>
12 9
         </div>
13 10
       </div>
14
-    </div>
15
-    <div class="container">
16
-      <div class="row mb-3">
11
+      <div v-if="checkAccess" class="row mb-3">
17 12
         <div class="col-md-12">
18 13
           <form id="mainForm">
19 14
             <div class="form-group row">
@@ -42,30 +37,35 @@
42 37
             </div>
43 38
           </form>
44 39
         </div>
40
+        <div class="col-md-12">
41
+          <button type="button" @click="SubmitData()" class="btn-solid-blue">
42
+            Save
43
+          </button>
44
+          <button type="button" @click="Close()" class="btn-solid-blue">
45
+            Close
46
+          </button>
47
+        </div>
48
+      </div>
49
+      <div v-else class="row">
50
+        <div class="col">
51
+          <alert :text="'You don\'t have permission to view this page'" :type="'ERROR'" />
52
+        </div>
45 53
       </div>
46 54
     </div>
47
-    <button
48
-      type="button"
49
-      @click="SubmitData()"
50
-      class="btn btn-b-n"
51
-      style="width: 85px; height:40px;"
52
-    >
53
-      Save
54
-    </button>
55
-    |
56
-    <button type="button" @click="Close()" class="btn btn-b-n" style="width: 85px; height:40px;">
57
-      Close
58
-    </button>
59
-  </div>
55
+  </main>
60 56
 </template>
61 57
 
62 58
 <script>
63
-import { mapState, mapActions } from 'vuex';
59
+/* eslint-disable */
60
+import { mapState, mapActions } from "vuex";
61
+
62
+import Log from "../../../assets/Log";
63
+import alert from "../../shared/alert";
64 64
 
65 65
 export default {
66
-  name: 'PropertyType',
67
-  data() {
68
-    return {};
66
+  name: "PropertyType",
67
+  components: {
68
+    alert
69 69
   },
70 70
   mounted() {
71 71
     this.clearPropertyType();
@@ -74,14 +74,21 @@ export default {
74 74
     }
75 75
   },
76 76
   computed: {
77
-    ...mapState('propertyTypes', ['propertyType']),
77
+    ...mapState("propertyTypes", ["propertyType"]),
78
+    checkAccess() {
79
+      if (Log.getUser().role === "Super Admin") {
80
+        return true;
81
+      } else {
82
+        return false;
83
+      }
84
+    }
78 85
   },
79 86
   methods: {
80
-    ...mapActions('propertyTypes', [
81
-      'getPropertyType',
82
-      'savePropertyType',
83
-      'updatePropertyType',
84
-      'clearPropertyType',
87
+    ...mapActions("propertyTypes", [
88
+      "getPropertyType",
89
+      "savePropertyType",
90
+      "updatePropertyType",
91
+      "clearPropertyType"
85 92
     ]),
86 93
     SubmitData() {
87 94
       if (this.propertyType.id > 0) {
@@ -89,11 +96,11 @@ export default {
89 96
       } else {
90 97
         this.savePropertyType(this.propertyType);
91 98
       }
92
-      this.$router.push('/propertyTypes/list');
99
+      this.$router.push("/propertyTypes/list");
93 100
     },
94 101
     Close() {
95
-      this.$router.push('/propertyTypes/list');
96
-    },
97
-  },
102
+      this.$router.push("/propertyTypes/list");
103
+    }
104
+  }
98 105
 };
99 106
 </script>

+ 34
- 16
src/components/admin/property/propertyTypeList.vue Bestand weergeven

@@ -9,32 +9,43 @@
9 9
           </div>
10 10
         </div>
11 11
       </div>
12
+      <div v-if="checkAccess" class="row">
13
+        <div class="col">
14
+          <listView
15
+            :items="propertyTypes"
16
+            :showNew="true"
17
+            :editable="true"
18
+            :deleteable="true"
19
+            :displayColumns="columns"
20
+            :sortKey="'description'"
21
+            @onEdit="Edit"
22
+            @onDelete="Delete"
23
+            @onNew="New"
24
+          />
25
+        </div>
26
+      </div>
27
+      <div v-else class="row">
28
+        <div class="col">
29
+          <alert :text="'You don\'t have permission to view this page'" :type="'ERROR'" />
30
+        </div>
31
+      </div>
12 32
     </div>
13
-    <div class="container">
14
-      <listView
15
-        :items="propertyTypes"
16
-        :showNew="true"
17
-        :editable="true"
18
-        :deleteable="true"
19
-        :displayColumns="columns"
20
-        :sortKey="'description'"
21
-        @onEdit="Edit"
22
-        @onDelete="Delete"
23
-        @onNew="New"
24
-      />
25
-    </div>
26
-    <br />
27 33
   </main>
28 34
 </template>
29 35
 
30 36
 <script>
37
+/* eslint-disable */
31 38
 import { mapState, mapActions } from "vuex";
39
+
40
+import Log from "../../../assets/Log";
41
+import alert from "../../shared/alert";
32 42
 import listView from "../../shared/listView.vue";
33 43
 
34 44
 export default {
35 45
   name: "PropertyTypeList",
36 46
   components: {
37
-    listView
47
+    listView,
48
+    alert
38 49
   },
39 50
   data() {
40 51
     return {
@@ -59,7 +70,14 @@ export default {
59 70
     this.getPropertyTypes();
60 71
   },
61 72
   computed: {
62
-    ...mapState("propertyTypes", ["propertyTypes"])
73
+    ...mapState("propertyTypes", ["propertyTypes"]),
74
+    checkAccess() {
75
+      if (Log.getUser().role === "Super Admin") {
76
+        return true;
77
+      } else {
78
+        return false;
79
+      }
80
+    }
63 81
   }
64 82
 };
65 83
 </script>

+ 3
- 6
src/components/admin/property/userDefinedField.vue Bestand weergeven

@@ -1,13 +1,10 @@
1 1
 <template>
2 2
   <main id="main">
3 3
     <div class="container">
4
-      <br />
5 4
       <div class="row">
6
-        <div class="col-md-12 col-lg-8">
7
-          <div class="title-box-d">
8
-            <h1 class="title-d" style="text-align:left; font-size: 250%">
9
-              User Defined Field
10
-            </h1>
5
+        <div class="col">
6
+          <div class="section-header">
7
+            <h2>User Defined Field</h2>
11 8
           </div>
12 9
         </div>
13 10
       </div>

+ 126
- 107
src/components/admin/property/userDefinedGroupPage.vue Bestand weergeven

@@ -1,125 +1,136 @@
1 1
 <template>
2
-  <!-- eslint-disable max-len -->
3
-  <div>
4
-    <div v-if="showField === false">
5
-      <div class="container">
6
-        <br />
7
-        <div class="row">
8
-          <div class="col-md-12 col-lg-8">
9
-            <div class="title-box-d">
10
-              <h1 class="title-d" style="text-align:left; font-size: 250%">
11
-                Property User Defined Group
12
-              </h1>
13
-            </div>
2
+  <main id="main" style="margin-top:200px; padding-bottom:50px">
3
+    <div class="container">
4
+      <div class="row">
5
+        <div class="col">
6
+          <div class="section-header">
7
+            <h2>Property User Defined Group</h2>
14 8
           </div>
15 9
         </div>
16 10
       </div>
17
-      <div class="container">
18
-        <div class="row mb-3">
19
-          <div class="col-md-12">
20
-            <form id="mainForm">
21
-              <div v-if="userDefinedGroup" class="form-group row">
22
-                <div class="col-md-4">
23
-                  <label>Description</label>
24
-                  <input
25
-                    class="form-control"
26
-                    type="text"
27
-                    name="description"
28
-                    id="description"
29
-                    v-model="userDefinedGroup.description"
30
-                  />
31
-                </div>
32
-                <div class="col-md-4">
33
-                  <label>Property Usage Type</label>
34
-                  <select
35
-                    class="form-control"
36
-                    name="UsageType"
37
-                    id="UsageType"
38
-                    v-model="userDefinedGroup.usageType"
39
-                  >
40
-                    <option value="0">Residential</option>
41
-                    <option value="1">Commercial</option>
42
-                    <option value="2">Both</option>
43
-                  </select>
44
-                </div>
45
-                <div class="col-md-4">
46
-                  <label>Order</label>
47
-                  <input
48
-                    class="form-control"
49
-                    type="number"
50
-                    name="rank"
51
-                    id="rank"
52
-                    v-model="userDefinedGroup.rank"
53
-                  />
54
-                </div>
55
-              </div>
56
-              <div v-if="!userDefinedGroup" class="form-group row">
57
-                <div class="col-md-4">
58
-                  <label>Description</label>
59
-                  <input
60
-                    class="form-control"
61
-                    type="text"
62
-                    name="description"
63
-                    id="description"
64
-                    v-model="group.description"
65
-                  />
66
-                </div>
67
-                <div class="col-md-4">
68
-                  <label>Property Usage Type</label>
69
-                  <select
70
-                    class="form-control"
71
-                    name="UsageType"
72
-                    id="UsageType"
73
-                    v-model="group.usageType"
74
-                  >
75
-                    <option value="0">Residential</option>
76
-                    <option value="1">Commercial</option>
77
-                    <option value="2">Both</option>
78
-                  </select>
11
+    </div>
12
+    <div v-if="checkAccess">
13
+      <div v-if="showField === false">
14
+        <div class="container">
15
+          <div class="row mb-3">
16
+            <div class="col-md-12">
17
+              <form id="mainForm">
18
+                <div v-if="userDefinedGroup" class="form-group row">
19
+                  <div class="col-md-4">
20
+                    <label>Description</label>
21
+                    <input
22
+                      class="form-control"
23
+                      type="text"
24
+                      name="description"
25
+                      id="description"
26
+                      v-model="userDefinedGroup.description"
27
+                    />
28
+                  </div>
29
+                  <div class="col-md-4">
30
+                    <label>Property Usage Type</label>
31
+                    <select
32
+                      class="form-control"
33
+                      name="UsageType"
34
+                      id="UsageType"
35
+                      v-model="userDefinedGroup.usageType"
36
+                    >
37
+                      <option value="0">Residential</option>
38
+                      <option value="1">Commercial</option>
39
+                      <option value="2">Both</option>
40
+                    </select>
41
+                  </div>
42
+                  <div class="col-md-4">
43
+                    <label>Order</label>
44
+                    <input
45
+                      class="form-control"
46
+                      type="number"
47
+                      name="rank"
48
+                      id="rank"
49
+                      v-model="userDefinedGroup.rank"
50
+                    />
51
+                  </div>
79 52
                 </div>
80
-                <div class="col-md-4">
81
-                  <label>Order</label>
82
-                  <input
83
-                    class="form-control"
84
-                    type="number"
85
-                    name="rank"
86
-                    id="rank"
87
-                    v-model="group.rank"
88
-                  />
53
+                <div v-if="!userDefinedGroup" class="form-group row">
54
+                  <div class="col-md-4">
55
+                    <label>Description</label>
56
+                    <input
57
+                      class="form-control"
58
+                      type="text"
59
+                      name="description"
60
+                      id="description"
61
+                      v-model="group.description"
62
+                    />
63
+                  </div>
64
+                  <div class="col-md-4">
65
+                    <label>Property Usage Type</label>
66
+                    <select
67
+                      class="form-control"
68
+                      name="UsageType"
69
+                      id="UsageType"
70
+                      v-model="group.usageType"
71
+                    >
72
+                      <option value="0">Residential</option>
73
+                      <option value="1">Commercial</option>
74
+                      <option value="2">Both</option>
75
+                    </select>
76
+                  </div>
77
+                  <div class="col-md-4">
78
+                    <label>Order</label>
79
+                    <input
80
+                      class="form-control"
81
+                      type="number"
82
+                      name="rank"
83
+                      id="rank"
84
+                      v-model="group.rank"
85
+                    />
86
+                  </div>
89 87
                 </div>
90
-              </div>
91
-            </form>
88
+              </form>
89
+            </div>
90
+          </div>
91
+          <div class="row">
92
+            <div class="col">
93
+              <listView
94
+                :items="userFields"
95
+                :showNew="true"
96
+                :editable="true"
97
+                :deleteable="true"
98
+                :displayColumns="columns"
99
+                :sortKey="'rank'"
100
+                @onEdit="Edit"
101
+                @onDelete="Delete"
102
+                @onNew="newItem"
103
+              />
104
+            </div>
105
+          </div>
106
+          <div class="row">
107
+            <div class="col">
108
+              <button type="button" @click="SubmitData()" class="btn-solid-blue mb-5">
109
+                Save
110
+              </button>
111
+              <button type="button" @click="Close()" class="btn-solid-blue">
112
+                Close
113
+              </button>
114
+            </div>
92 115
           </div>
93 116
         </div>
94 117
       </div>
95
-      <div class="container">
96
-        <listView
97
-          :items="userFields"
98
-          :showNew="true"
99
-          :editable="true"
100
-          :deleteable="true"
101
-          :displayColumns="columns"
102
-          :sortKey="'rank'"
103
-          @onEdit="Edit"
104
-          @onDelete="Delete"
105
-          @onNew="newItem"
106
-        />
118
+      <div v-else>
119
+        <userFields @UpdateUserField="UpdateUserField" :field="item" />
107 120
       </div>
108
-      <button type="button" @click="SubmitData()" class="btn-solid-blue mb-5">
109
-        Save
110
-      </button>
111
-      <button type="button" @click="Close()" class="btn-solid-blue">
112
-        Close
113
-      </button>
114 121
     </div>
115 122
     <div v-else>
116
-      <userFields @UpdateUserField="UpdateUserField" :field="item" />
123
+      <alert :text="'You don\'t have permission to view this page'" :type="'ERROR'" />
117 124
     </div>
118
-  </div>
125
+  </main>
119 126
 </template>
120 127
 
121 128
 <script>
129
+/* eslint-disable */
122 130
 import { mapState, mapActions } from "vuex";
131
+
132
+import Log from "../../../assets/Log";
133
+import alert from "../../shared/alert";
123 134
 import userFields from "./userDefinedField.vue";
124 135
 import listView from "../../shared/listView.vue";
125 136
 
@@ -127,7 +138,8 @@ export default {
127 138
   name: "UserDefinedGroup",
128 139
   components: {
129 140
     userFields,
130
-    listView
141
+    listView,
142
+    alert
131 143
   },
132 144
   data() {
133 145
     return {
@@ -146,7 +158,14 @@ export default {
146 158
     }
147 159
   },
148 160
   computed: {
149
-    ...mapState("propertyAdmin", ["userDefinedGroup", "userFields", "userField"])
161
+    ...mapState("propertyAdmin", ["userDefinedGroup", "userFields", "userField"]),
162
+    checkAccess() {
163
+      if (Log.getUser().role === "Super Admin") {
164
+        return true;
165
+      } else {
166
+        return false;
167
+      }
168
+    }
150 169
   },
151 170
   methods: {
152 171
     ...mapActions("propertyAdmin", [

+ 35
- 19
src/components/admin/property/userDefinedGroupsPage.vue Bestand weergeven

@@ -1,41 +1,50 @@
1 1
 <template>
2
-  <!-- eslint-disable max-len -->
3 2
   <main id="main" style="margin-top:-80px; padding-bottom:50px">
4 3
     <div class="container">
5 4
       <div class="row">
6
-        <div class="col-md-12 col-lg-8">
5
+        <div class="col">
7 6
           <div class="section-header">
8 7
             <h2>Property User Defined Groups</h2>
9 8
           </div>
10 9
         </div>
11 10
       </div>
12
-    </div>
13
-    <div class="container">
14
-      <div class="container">
15
-        <listView
16
-          :items="userDefinedGroups"
17
-          :showNew="true"
18
-          :editable="true"
19
-          :deleteable="true"
20
-          :displayColumns="columns"
21
-          :sortKey="'rank'"
22
-          @onEdit="Edit"
23
-          @onDelete="Delete"
24
-          @onNew="New"
25
-        />
11
+      <div v-if="checkAccess" class="row">
12
+        <div class="col">
13
+          <listView
14
+            :items="userDefinedGroups"
15
+            :showNew="true"
16
+            :editable="true"
17
+            :deleteable="true"
18
+            :displayColumns="columns"
19
+            :sortKey="'rank'"
20
+            @onEdit="Edit"
21
+            @onDelete="Delete"
22
+            @onNew="New"
23
+          />
24
+        </div>
25
+      </div>
26
+      <div v-else class="row">
27
+        <div class="col">
28
+          <alert :text="'You don\'t have permission to view this page'" :type="'ERROR'" />
29
+        </div>
26 30
       </div>
27 31
     </div>
28
-    <br />
29 32
   </main>
30 33
 </template>
34
+
31 35
 <script>
36
+/* eslint-disable */
32 37
 import { mapState, mapActions } from "vuex";
38
+
39
+import Log from "../../../assets/Log";
40
+import alert from "../../shared/alert";
33 41
 import listView from "../../shared/listView.vue";
34 42
 
35 43
 export default {
36 44
   name: "UserDefinedGroup",
37 45
   components: {
38
-    listView
46
+    listView,
47
+    alert
39 48
   },
40 49
   data() {
41 50
     return {
@@ -46,7 +55,14 @@ export default {
46 55
     this.getUserDefinedGroups();
47 56
   },
48 57
   computed: {
49
-    ...mapState("propertyAdmin", ["userDefinedGroups"])
58
+    ...mapState("propertyAdmin", ["userDefinedGroups"]),
59
+    checkAccess() {
60
+      if (Log.getUser().role === "Super Admin") {
61
+        return true;
62
+      } else {
63
+        return false;
64
+      }
65
+    }
50 66
   },
51 67
   methods: {
52 68
     ...mapActions("propertyAdmin", ["getUserDefinedGroups", "deleteUserDefinedGroup"]),

+ 19
- 12
src/components/admin/status/statusPage.vue Bestand weergeven

@@ -1,16 +1,8 @@
1 1
 <template>
2 2
   <main id="main" style="margin-top:-20px; padding-bottom:50px">
3
-    <!-- <section class="intro-single"> -->
4 3
     <div class="container">
5
-      <br />
6
-      <br />
7
-      <br />
8
-      <br />
9 4
       <div class="row">
10 5
         <div class="col-md-12 col-lg-8">
11
-          <!-- <div class="title-single-box"> -->
12
-          <!-- <h2 class="title-single">Status List</h2> -->
13
-          <!-- </div> -->
14 6
           <div class="section-header">
15 7
             <h2>Status List</h2>
16 8
           </div>
@@ -18,26 +10,41 @@
18 10
         </div>
19 11
       </div>
20 12
     </div>
21
-    <!-- </section> -->
22
-    <div class="container">
13
+    <div v-if="checkAccess" class="container">
23 14
       <ListView :items="statusList" :columnCount="4" :compact="false" :showNew="false" />
24 15
     </div>
16
+    <div v-else>
17
+      <alert :text="'You don\'t have permission to view this page'" :type="'ERROR'" />
18
+    </div>
25 19
   </main>
26 20
 </template>
21
+
27 22
 <script>
23
+/* eslint-disable */
28 24
 import { mapState, mapActions } from "vuex";
25
+
26
+import Log from "../../../assets/Log";
27
+import alert from "../../shared/alert";
29 28
 import ListView from "../../shared/listView.vue";
30 29
 
31 30
 export default {
32 31
   name: "StatusList",
33 32
   components: {
34
-    ListView
33
+    ListView,
34
+    alert
35 35
   },
36 36
   created() {
37 37
     this.getStatusList();
38 38
   },
39 39
   computed: {
40
-    ...mapState("status", ["statusList"])
40
+    ...mapState("status", ["statusList"]),
41
+    checkAccess() {
42
+      if (Log.getUser().role === "Super Admin") {
43
+        return true;
44
+      } else {
45
+        return false;
46
+      }
47
+    }
41 48
   },
42 49
   methods: {
43 50
     ...mapActions("status", ["getStatusList"])

+ 19
- 7
src/components/admin/status/tenderWeekAdminPage.vue Bestand weergeven

@@ -1,6 +1,5 @@
1 1
 <template>
2 2
   <main id="main" style="margin-top:-20px; padding-bottom:50px">
3
-    <!-- <section class="intro-single"> -->
4 3
     <div class="container">
5 4
       <div class="row">
6 5
         <div class="col">
@@ -9,17 +8,22 @@
9 8
           </div>
10 9
         </div>
11 10
       </div>
12
-      <div id="table" class="col-xs-12 table-responsive">
11
+      <div v-if="checkAccess" id="table" class="col-xs-12 table-responsive">
13 12
         <ListView :items="items" :showNew="false"></ListView>
14 13
       </div>
15
-      <br />
14
+      <div v-else>
15
+        <alert :text="'You don\'t have permission to view this page'" :type="'ERROR'" />
16
+      </div>
16 17
     </div>
17
-
18
-    <!-- </section> -->
19 18
   </main>
20 19
 </template>
20
+
21 21
 <script>
22
+/* eslint-disable */
22 23
 import { mapState, mapActions } from "vuex";
24
+
25
+import Log from "../../../assets/Log";
26
+import alert from "../../shared/alert";
23 27
 import ListView from "../../shared/listView.vue";
24 28
 
25 29
 export default {
@@ -28,10 +32,18 @@ export default {
28 32
     this.getItems();
29 33
   },
30 34
   components: {
31
-    ListView
35
+    ListView,
36
+    alert
32 37
   },
33 38
   computed: {
34
-    ...mapState("tenderWeek", ["items"])
39
+    ...mapState("tenderWeek", ["items"]),
40
+    checkAccess() {
41
+      if (Log.getUser().role === "Super Admin") {
42
+        return true;
43
+      } else {
44
+        return false;
45
+      }
46
+    }
35 47
   },
36 48
   methods: {
37 49
     ...mapActions("tenderWeek", ["getItems"])

+ 15
- 175
src/components/admin/status/timeshareAdminPage.vue Bestand weergeven

@@ -1,5 +1,3 @@
1
-/* eslint-disable no-restricted-syntax */ /* eslint-disable guard-for-in */
2
-<!-- eslint-disable max-len -->
3 1
 <template>
4 2
   <main id="main" style="margin-top:200px; padding-bottom:50px">
5 3
     <div class="container">
@@ -10,202 +8,44 @@
10 8
           </div>
11 9
         </div>
12 10
       </div>
13
-      <!-- <div class="row">
14
-        <div class="col-md-3">
15
-          <float-label label="REGION">
16
-            <select
17
-              id="weekInfoRegionSelect"
18
-              class="form-control uniSelect"
19
-              @change="regionChange()"
20
-              style="font-size: 15px"
21
-              v-model="region"
22
-            >
23
-              <option v-for="(region, r) in regions" :key="r" :value="region">{{
24
-                region.regionName
25
-              }}</option>
26
-            </select>
27
-          </float-label>
28
-        </div>
29
-        <div class="col-md-3">
30
-          <float-label label="RESORT NAME">
31
-            <select
32
-              id="weekInfoResortSelect"
33
-              class="form-control uniSelect"
34
-              @change="resortChange()"
35
-            >
36
-              <option value="Other">Other</option>
37
-              <option v-for="(resort, r) in filteredResort" :key="r" :value="resort">{{
38
-                resort.resortName
39
-              }}</option>
40
-            </select>
41
-          </float-label>
42
-        </div>
43
-        <div class="col-md-3">
44
-          <float-label label="SEASON">
45
-            <select class="form-control uniSelect" name="region" id="region">
46
-              <option v-for="(season, r) in seasons" :key="r">{{ season.name }}</option>
47
-            </select>
48
-          </float-label>
49
-        </div>
50
-        <div class="col-md-3">
51
-          <float-label label="STATUS">
52
-            <select class="form-control uniSelect" name="status"> </select>
53
-          </float-label>
11
+      <div v-if="checkAccess" class="row">
12
+        <div class="col-md-12">
13
+          <timeshareList />
54 14
         </div>
55 15
       </div>
56
-      <div class="row">
16
+      <div v-else class="row">
57 17
         <div class="col">
58
-          <button style="float:right" class="btn-solid-blue" type="button">Filter</button>
59
-        </div>
60
-      </div>-->
61
-      <div class="row">
62
-        <div class="col-md-12">
63
-          <timeshareList />
64
-          <!-- <ListView
65
-            :items="getNeedsVerify"
66
-            :editable="true"
67
-            :deleteable="true"
68
-            :showCustomAction="true"
69
-            :CustomActionHeading="'Publish'"
70
-            :showColumnChooser="false"
71
-            :displayColumns="columns"
72
-            :displayFormats="displayFormats"
73
-            @onRowClick="onRowClick"
74
-            @onClearSelected="onClearSelected"
75
-            @onEdit="onEdit"
76
-            :showNew="false"
77
-          /> -->
18
+          <alert :text="'You don\'t have permission to view this page'" :type="'ERROR'" />
78 19
         </div>
79 20
       </div>
80
-      <!-- <div class="offset-1 col-md-6">
81
-        <button
82
-          type="button"
83
-          :class="{
84
-            'form-control btn btn-primary ': 1 === 1,
85
-            'my-disable': !selectedItems || selectedItems.length === 0
86
-          }"
87
-          value="Verify Week(s)"
88
-          :disabled="!(selectedItems.length > 0)"
89
-          @click="onVerify()"
90
-        >
91
-          {{ ButtonMessage }}
92
-        </button> 
93
-        <div>{{ Message }}</div>
94
-      </div>-->
95 21
     </div>
96 22
   </main>
97 23
 </template>
24
+
98 25
 <script>
26
+/* eslint-disable */
99 27
 import { mapState, mapActions, mapGetters } from "vuex";
28
+
100 29
 import Log from "../../../assets/Log";
101
-import ListView from "../../shared/listView.vue";
30
+import alert from "../../shared/alert";
102 31
 import timeshareList from "./timeshareAdminList";
103 32
 
104 33
 export default {
105 34
   name: "TimeshareAdmin",
106 35
   components: {
107
-    timeshareList
108
-  },
109
-  data() {
110
-    return {
111
-      user: Log.getUser(),
112
-      columns: [
113
-        "owner",
114
-        "agent",
115
-        "resort",
116
-        "weekNumber",
117
-        "unitNumber",
118
-        "bedrooms",
119
-        "season",
120
-        "region",
121
-        "sellPrice"
122
-      ],
123
-      displayFormats: ["", "", "", "", "", "", "", "", "money"],
124
-      // selectedItems: [],
125
-      showMessage: false,
126
-      region: ""
127
-    };
36
+    timeshareList,
37
+    alert
128 38
   },
129 39
   computed: {
130 40
     ...mapState("timeshare", ["resorts", "regions", "seasons", "detailedRegion"]),
131 41
     ...mapState("individual", ["indiv"]),
132
-    filteredResort() {
133
-      let list = [];
134
-      if (this.region) {
135
-        const item = this.detailedRegion.find(
136
-          region => region.region.regionCode === this.region.regionCode
137
-        );
138
-        if (item) {
139
-          list = item.children;
140
-        }
141
-      } else {
142
-        list = this.resorts;
143
-      }
144
-      return _.sortBy(list, x => x.resortName);
145
-    },
146
-    SelectedItems() {
147
-      const selectedArray = [];
148
-      this.selectedItems.forEach(x => selectedArray.push(this.items[x]));
149
-      return selectedArray;
150
-    },
151
-    ButtonMessage() {
152
-      let msg = "";
153
-      if (!(this.selectedItems.length > 0)) {
154
-        msg = "No Items selected";
42
+    checkAccess() {
43
+      if (Log.getUser().role === "Super Admin") {
44
+        return true;
155 45
       } else {
156
-        msg = "Verify item";
157
-        if (this.selectedItems.length > 1) {
158
-          msg += "s";
159
-        }
160
-      }
161
-      return msg;
162
-    },
163
-    Message() {
164
-      let msg = "";
165
-      if (!(this.selectedItems.length > 0)) {
166
-        msg = "Please select the item(s) to verify.";
167
-      } else {
168
-        msg = `${this.selectedItems.length}`;
169
-        if (this.selectedItems.length === 1) {
170
-          msg += " item ";
171
-        } else msg += " items ";
172
-        msg += "selected. Click to verify or select more...";
173
-      }
174
-      return msg;
175
-    },
176
-    ...mapState("myWeeks", ["items"]),
177
-    ...mapGetters({ getNeedsVerify: "myWeeks/getNeedsVerify" })
178
-  },
179
-  methods: {
180
-    ...mapActions("myWeeks", ["getItems", "verifyWeek"]),
181
-    ...mapActions("alert", ["success"]),
182
-    ...mapActions("timeshare", ["initTimeshare", "onResortChange", "saveWeek", "getBlankWeek"]),
183
-    onVerify() {
184
-      if (this.selectedItems.length > 0) {
185
-        for (const i in this.selectedItems) {
186
-          const selectedIndex = this.selectedItems[i];
187
-          const item = this.items[selectedIndex];
188
-          if (item) {
189
-            this.verifyWeek(item.id);
190
-          }
191
-        }
192
-        this.success("Week verified!");
193
-        this.$router.push("/shared/alert");
46
+        return false;
194 47
       }
195
-    },
196
-    onRowClick(items) {
197
-      this.selectedItems = items;
198
-    },
199
-    onEdit(item) {
200
-      this.$router.push({ name: "EditTimeshare", params: { weekParam: item } });
201
-      // this.$router.push(`/editTimeShare/${item.id}`);
202
-    },
203
-    onClearSelected() {
204
-      this.selectedItems = [];
205 48
     }
206
-    //   onDelete(item) {
207
-    //   this.deleteListing(item.id);
208
-    // },
209 49
   }
210 50
 };
211 51
 </script>

+ 46
- 35
src/components/admin/status/userManagementPage.vue Bestand weergeven

@@ -1,61 +1,65 @@
1 1
 <template>
2 2
   <main id="main" style="margin-top:-20px; padding-bottom:50px">
3
-    <!-- eslint-disable max-len -->
4 3
     <div class="container">
5
-      <br />
6
-      <br />
7 4
       <div class="row">
8
-        <div class="col-md-12 col-lg-8">
5
+        <div class="col">
9 6
           <div class="section-header">
10 7
             <h2>User Management</h2>
11 8
           </div>
12 9
         </div>
13 10
       </div>
14
-      <div class="row">
15
-        <div class="col-md-2 offset-1">
16
-          <button type="button" class="btn-solid-blue">USERS</button>
11
+      <div v-if="checkAccess">
12
+        <div class="row">
13
+          <div class="col-md-2 offset-1">
14
+            <button type="button" class="btn-solid-blue">USERS</button>
15
+          </div>
16
+          <div class="col-md-2 offset-2">
17
+            <button
18
+              @click="routerGoTo('/status/agentUserManagementPage')"
19
+              type="button"
20
+              class="btn-solid-blue"
21
+            >
22
+              AGENTS
23
+            </button>
24
+          </div>
17 25
         </div>
18
-        <div class="col-md-2 offset-2">
19
-          <button
20
-            @click="routerGoTo('/status/agentUserManagementPage')"
21
-            type="button"
22
-            class="btn-solid-blue"
23
-          >
24
-            AGENTS
25
-          </button>
26
+        <div class="row">
27
+          <ListView
28
+            :items="individuals"
29
+            :showNew="false"
30
+            :editable="true"
31
+            :deleteable="true"
32
+            :showCustomAction="true"
33
+            :showColumnChooser="false"
34
+            :CustomActionHeading="'Reset Password'"
35
+            :displayColumns="columns"
36
+            :displayHeaders="headers"
37
+            @onEdit="Edit"
38
+            @onDelete="Delete"
39
+            @onResetPassword="PasswordReset"
40
+          />
26 41
         </div>
27 42
       </div>
28
-      <div class="container">
29
-        <ListView
30
-          :items="individuals"
31
-          :showNew="false"
32
-          :editable="true"
33
-          :deleteable="true"
34
-          :showCustomAction="true"
35
-          :showColumnChooser="false"
36
-          :CustomActionHeading="'Reset Password'"
37
-          :displayColumns="columns"
38
-          :displayHeaders="headers"
39
-          @onEdit="Edit"
40
-          @onDelete="Delete"
41
-          @onResetPassword="PasswordReset"
42
-        />
43
-        <br />
43
+      <div v-else>
44
+        <alert :text="'You don\'t have permission to view this page'" :type="'ERROR'" />
44 45
       </div>
45 46
     </div>
46 47
   </main>
47 48
 </template>
48 49
 
49 50
 <script>
51
+/* eslint-disable */
50 52
 import { mapState, mapActions, mapGetters } from "vuex";
51
-// import alert from '../../shared/alert.vue';
53
+
54
+import Log from "../../../assets/Log";
55
+import alert from "../../shared/alert.vue";
52 56
 import ListView from "../../shared/listView.vue";
53 57
 
54 58
 export default {
55 59
   name: "userManagementPage",
56 60
   components: {
57
-    ListView
58
-    // alert,
61
+    ListView,
62
+    alert
59 63
   },
60 64
   data() {
61 65
     return {
@@ -83,7 +87,14 @@ export default {
83 87
   },
84 88
   computed: {
85 89
     ...mapState("register", ["individuals", "removeIndividual"]),
86
-    ...mapGetters("role", ["getRoles"])
90
+    ...mapGetters("role", ["getRoles"]),
91
+    checkAccess() {
92
+      if (Log.getUser().role === "Super Admin") {
93
+        return true;
94
+      } else {
95
+        return false;
96
+      }
97
+    }
87 98
   }
88 99
 };
89 100
 </script>

+ 19
- 6
src/components/admin/unitConfiguration/unitConfigurationPage.vue Bestand weergeven

@@ -1,7 +1,5 @@
1 1
 <template>
2 2
   <main id="main" style="margin-top:-20px; padding-bottom:50px">
3
-    <!-- eslint-disable max-len -->
4
-    <!-- <section class="intro-single"> -->
5 3
     <div class="container">
6 4
       <div class="row">
7 5
         <div class="col">
@@ -11,26 +9,41 @@
11 9
         </div>
12 10
       </div>
13 11
     </div>
14
-    <!-- </section> -->
15
-    <div class="container">
12
+    <div v-if="checkAccess" class="container">
16 13
       <ListView :items="unitConfigurationList" />
17 14
     </div>
15
+    <div v-else>
16
+      <alert :text="'You don\'t have permission to view this page'" :type="'ERROR'" />
17
+    </div>
18 18
   </main>
19 19
 </template>
20
+
20 21
 <script>
22
+/* eslint-disable */
21 23
 import { mapState, mapActions } from "vuex";
24
+
25
+import Log from "../../../assets/Log";
26
+import alert from "../../shared/alert";
22 27
 import ListView from "../../shared/listView.vue";
23 28
 
24 29
 export default {
25 30
   name: "UnitConfiguration",
26 31
   components: {
27
-    ListView
32
+    ListView,
33
+    alert
28 34
   },
29 35
   created() {
30 36
     this.getUnitConfigurationList();
31 37
   },
32 38
   computed: {
33
-    ...mapState("unitConfiguration", ["unitConfigurationList"])
39
+    ...mapState("unitConfiguration", ["unitConfigurationList"]),
40
+    checkAccess() {
41
+      if (Log.getUser().role === "Super Admin") {
42
+        return true;
43
+      } else {
44
+        return false;
45
+      }
46
+    }
34 47
   },
35 48
   methods: {
36 49
     ...mapActions("unitConfiguration", ["getUnitConfigurationList"])

+ 22
- 11
src/components/communication/templatePage.vue Bestand weergeven

@@ -1,19 +1,15 @@
1 1
 <template>
2 2
   <main id="main" style="margin-top:-20px; padding-bottom:50px">
3 3
     <!-- eslint-disable max-len -->
4
-    <div class="container-fluid" style="margin-top:25px;">
4
+    <div class="container" style="margin-top:25px;">
5 5
       <div class="row">
6
-        <div class="col-md-1"></div>
7
-        <div class="col-md-10">
6
+        <div class="col-md-12">
8 7
           <div class="section-header">
9
-            <h2 class="sinse-title">Email Templates</h2>
8
+            <h2>Email Templates</h2>
10 9
           </div>
11 10
         </div>
12
-        <div class="col-md-12">
13
-          <hr />
14
-        </div>
15 11
       </div>
16
-      <div class="row">
12
+      <div v-if="checkAccess" class="row">
17 13
         <div :class="listClass">
18 14
           <ListView :items="list" @onRowClick="onRowClick" @onNew="onNew" :showNew="true" />
19 15
         </div>
@@ -26,14 +22,21 @@
26 22
           />
27 23
         </div>
28 24
       </div>
29
-
30
-      <hr />
25
+      <div v-else class="row">
26
+        <div class="col">
27
+          <alert :text="'You don\'t have permission to view this page'" :type="'ERROR'" />
28
+        </div>
29
+      </div>
31 30
     </div>
32 31
   </main>
33 32
 </template>
34 33
 
35 34
 <script>
35
+/* eslint-disable */
36 36
 import { mapState, mapActions } from "vuex";
37
+
38
+import Log from "../../assets/Log";
39
+import alert from "../shared/alert";
37 40
 import ListView from "../shared/listView.vue";
38 41
 import DetailView from "./templateDetailNew.vue";
39 42
 
@@ -46,7 +49,8 @@ export default {
46 49
   },
47 50
   components: {
48 51
     ListView,
49
-    DetailView
52
+    DetailView,
53
+    alert
50 54
   },
51 55
   mounted() {
52 56
     this.getList();
@@ -58,6 +62,13 @@ export default {
58 62
     },
59 63
     listClass() {
60 64
       return this.detailItem !== undefined && this.detailItem != null ? "col-md-6" : "col-md-12";
65
+    },
66
+    checkAccess() {
67
+      if (Log.getUser().role === "Super Admin") {
68
+        return true;
69
+      } else {
70
+        return false;
71
+      }
61 72
     }
62 73
   },
63 74
   methods: {

+ 51
- 27
src/components/shared/navBar.vue Bestand weergeven

@@ -191,22 +191,47 @@
191 191
                       <li v-if="ROLE === 'Super Admin'">
192 192
                         <router-link to="/status/list">Status</router-link>
193 193
                       </li>-->
194
-                      <li v-if="ROLE === 'Super Admin'"></li>
195
-                      <li>
196
-                        <router-link to="/property/list">List My Property</router-link>
197
-                      </li>
198
-
199
-                      <li v-if="ROLE === 'Super Admin'">
200
-                        <router-link to="/status/timeshareAdmin">Timeshare Week Admin</router-link>
201
-                      </li>
202
-                      <li v-if="ROLE === 'Super Admin'">
203
-                        <router-link to="/status/tenderWeekAdmin"
204
-                          >Tender Week Management</router-link
194
+                      <li v-if="ROLE === 'Super Admin'" class="menu-has-children">
195
+                        <div
196
+                          @mouseover="submenu1Class = 'ts-display'"
197
+                          @mouseleave="submenu1Class = 'no-display'"
198
+                        ></div>
199
+                        <a href="#" class="sf-with-ul">Property</a>
200
+                        <ul
201
+                          style="margin-top:-10px;text-align:left;width:250px"
202
+                          :class="submenu1Class"
205 203
                         >
204
+                          <li>
205
+                            <router-link to="/property/list">List My Property</router-link>
206
+                          </li>
207
+                          <li>
208
+                            <router-link to="/PropertyAdmin">Property Admin</router-link>
209
+                          </li>
210
+                        </ul>
206 211
                       </li>
207
-                      <li>
208
-                        <router-link to="/PropertyAdmin">Property Admin</router-link>
212
+                      <li v-if="ROLE === 'Super Admin'" class="menu-has-children">
213
+                        <div
214
+                          @mouseover="submenu1Class = 'ts-display'"
215
+                          @mouseleave="submenu1Class = 'no-display'"
216
+                        ></div>
217
+                        <a href="#" class="sf-with-ul">TimeShare</a>
218
+                        <ul
219
+                          style="margin-top:-10px;text-align:left;width:250px"
220
+                          :class="submenu1Class"
221
+                        >
222
+                          <li v-if="ROLE === 'Super Admin'">
223
+                            <router-link to="/status/tenderWeekAdmin"
224
+                              >Tender Week Management</router-link
225
+                            >
226
+                          </li>
227
+                          <li v-if="ROLE === 'Super Admin'">
228
+                            <router-link to="/status/timeshareAdmin"
229
+                              >Timeshare Week Admin</router-link
230
+                            >
231
+                          </li>
232
+                        </ul>
209 233
                       </li>
234
+
210 235
                       <hr v-if="ROLE === 'Super Admin'" />
211 236
                       <li v-if="ROLE === 'Super Admin'" class="menu-has-children">
212 237
                         <div
@@ -219,20 +244,16 @@
219 244
                           :class="submenu1Class"
220 245
                         >
221 246
                           <li>
222
-                            <router-link to="/status/list">Status</router-link>
247
+                            <router-link to="/communication/template">Email Templates</router-link>
223 248
                           </li>
224 249
                           <li>
225
-                            <router-link to="/unitConfiguration/list"
226
-                              >Unit Configuration</router-link
227
-                            >
250
+                            <router-link to="/termsConditions">Edit Terms & Conditions</router-link>
228 251
                           </li>
229 252
                           <li>
230
-                            <router-link to="/communication/template">Templates</router-link>
253
+                            <router-link to="/fees">Fees</router-link>
231 254
                           </li>
232 255
                           <li>
233
-                            <router-link to="/status/userManagementPage"
234
-                              >User Management & Access</router-link
235
-                            >
256
+                            <router-link to="/propertyTypes/list">Property Types</router-link>
236 257
                           </li>
237 258
                           <li>
238 259
                             <router-link to="/userDefinedGroups/list"
@@ -240,19 +261,22 @@
240 261
                             >
241 262
                           </li>
242 263
                           <li>
243
-                            <router-link to="/propertyTypes/list">Property Types</router-link>
264
+                            <router-link to="/status/list">Status</router-link>
244 265
                           </li>
245 266
                           <li>
246
-                            <router-link to="/fees">Fees</router-link>
267
+                            <router-link to="/unitConfiguration/list"
268
+                              >Unit Configuration</router-link
269
+                            >
247 270
                           </li>
271
+
248 272
                           <li>
249
-                            <router-link to="/termsConditions"
250
-                              >Edit Terms and Conditions</router-link
273
+                            <router-link to="/status/userManagementPage"
274
+                              >User Management & Access</router-link
251 275
                             >
252 276
                           </li>
253 277
                         </ul>
254 278
                       </li>
255
-                      <li v-if="ROLE === 'Super Admin'" class="menu-has-children">
279
+                      <!-- <li v-if="ROLE === 'Super Admin'" class="menu-has-children">
256 280
                         <div
257 281
                           @mouseover="submenu1Class = 'ts-display'"
258 282
                           @mouseleave="submenu1Class = 'no-display'"
@@ -269,7 +293,7 @@
269 293
                             <router-link to="/searchLog">Search Logs</router-link>
270 294
                           </li>
271 295
                         </ul>
272
-                      </li>
296
+                      </li> -->
273 297
                       <hr />
274 298
                       <li>
275 299
                         <router-link to="/Offers">Offers</router-link>

Laden…
Annuleren
Opslaan