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 },