How do I add a custom validation to the Accounts module that prevents save if the name of the account is not unique?
I have been refereing to the Adding Field Validation to the Record View documentation from the Sugar developer guide and have succesfully added a validation function, I just don't know how to query the system to see if there already exists an account with the same name. Can anyone help?
I am on version 7.6 Enterprise.
Here is what I have so far. I created a new file in custom/modules/Accounts/clients/base/views/create-actions/create-actions.js with the following contents:
({
extendsFrom: 'CreateActionsView',
initialize: function (options) {
this._super('initialize', [options]);
//add validation tasks
this.model.addValidationTask('check_name', _.bind(this._doValidateUniqueName, this));
},
_doValidateUniqueName: function(fields, errors, callback) {
var accounts = app.data.createBeanCollection("Accounts");
accounts.fetch({
filter: [{'name':{'$equals':this.model.get('name')}}],
});
if (???) // How do I use the results of the fetch here?
{
errors['name'] = errors['name'] || {};
errors['name'].required = true; // I plan on changing this to a custom error message
}
callback(null, fields, errors);
},
})
The code is called correctly, I just don't know how to use the results of the accounts.fetch to determine if there are any accounts with the same name already.