diff --git a/src/components/customers/ByjoveCustomerField.vue b/src/components/customers/ByjoveCustomerField.vue
index 30252cb..74d1daf 100644
--- a/src/components/customers/ByjoveCustomerField.vue
+++ b/src/components/customers/ByjoveCustomerField.vue
@@ -4,6 +4,7 @@
@@ -148,6 +149,13 @@ export default {
this.$emit('input', value)
},
+ setCustomer(customer) {
+ this.$refs.autocomplete.selectionMade({
+ value: customer.uuid,
+ label: customer._str,
+ })
+ },
+
},
}
diff --git a/src/components/model-crud/ByjoveModelCrud.vue b/src/components/model-crud/ByjoveModelCrud.vue
index b1cdd87..857bcc7 100644
--- a/src/components/model-crud/ByjoveModelCrud.vue
+++ b/src/components/model-crud/ByjoveModelCrud.vue
@@ -37,6 +37,7 @@
@@ -158,6 +159,10 @@ export default {
type: Boolean,
default: false,
},
+ createRowPermission: {
+ type: String,
+ default: null,
+ },
createRowButtonText: {
type: String,
default: "Create New Row",
@@ -214,6 +219,10 @@ export default {
type: Boolean,
default: false,
},
+ hideSaveButton: {
+ type: Boolean,
+ default: false,
+ },
saveDisabled: {
type: Boolean,
default: false,
@@ -427,23 +436,11 @@ export default {
return this.getModelSlug()
},
- // TODO: should use this.$hasPerm()
- hasPerm(perm) {
-
- // if user is root then assume permission
- if (this.$store.state.user && this.$store.state.user.is_root) {
- return true
- }
-
- // otherwise do true perm check for user
- return this.$store.state.permissions.includes(perm)
- },
-
hasModelPerm(perm) {
// do normal check, but first add prefix
let prefix = this.getModelPermissionPrefix()
- return this.hasPerm(prefix + '.' + perm)
+ return this.$byjoveHasPerm(prefix + '.' + perm)
},
renderLabel(obj) {
@@ -665,8 +662,14 @@ export default {
if (this.mode != 'viewing') {
return false
}
- if (!this.hasModelPerm('create_row')) {
- return false
+ if (this.createRowPermission) {
+ if (!this.$byjoveHasPerm(this.createRowPermission)) {
+ return false
+ }
+ } else {
+ if (!this.hasModelPerm('create_row')) {
+ return false
+ }
}
return true
},