Misc. tweaks for model-crud, customer-field
This commit is contained in:
parent
4189bdf919
commit
2a1f5764a1
|
@ -4,6 +4,7 @@
|
|||
|
||||
<byjove-autocomplete v-if="!readonly && !useDropdown"
|
||||
v-model="customerUUID"
|
||||
ref="autocomplete"
|
||||
:service-url="autocompleteUrl"
|
||||
@input="customerChanged">
|
||||
</byjove-autocomplete>
|
||||
|
@ -148,6 +149,13 @@ export default {
|
|||
this.$emit('input', value)
|
||||
},
|
||||
|
||||
setCustomer(customer) {
|
||||
this.$refs.autocomplete.selectionMade({
|
||||
value: customer.uuid,
|
||||
label: customer._str,
|
||||
})
|
||||
},
|
||||
|
||||
},
|
||||
|
||||
}
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
<div v-if="showButtons"
|
||||
class="buttons" style="margin-top: 1rem;">
|
||||
<b-button :type="getSaveButtonType()"
|
||||
v-if="!hideSaveButton"
|
||||
:icon-left="getSaveButtonIcon()"
|
||||
:disabled="saveDisabled"
|
||||
@click="save()">
|
||||
|
@ -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
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue