move populate assigned user and assigned teams to view

This commit is contained in:
yuri
2015-12-15 14:49:55 +02:00
parent b73cbef3d4
commit 461eb480f1
6 changed files with 38 additions and 20 deletions
@@ -84,7 +84,8 @@
"columns": {
"role": "userRole"
},
"view": "User.Fields.Teams"
"view": "views/user/fields/teams",
"default": "javascript: return {teamsIds: []}"
},
"roles": {
"type": "linkMultiple",
@@ -122,7 +122,6 @@ Espo.define('controllers/record', 'controller', function (Dep) {
create: function (options) {
options = options || {};
this.getModel(function (model) {
model.populateDefaults();
if (options.relate) {
model.setRelate(options.relate);
}
+6 -17
View File
@@ -98,34 +98,23 @@ Espo.define('model', [], function () {
var defaultValue = this.getFieldParam(field, 'default');
if (defaultValue != null) {
var defaultValue = this._getDefaultValue(defaultValue);
var defaultValue = this.parseDefaultValue(defaultValue);
defaultHash[field] = defaultValue;
}
}
}
var user = this.getUser();
if (user) {
if (this.hasField('assignedUser')) {
this.set('assignedUserId', this.getUser().id);
this.set('assignedUserName', this.getUser().get('name'));
}
var defaultTeamId = this.getUser().get('defaultTeamId');
if (defaultTeamId) {
if (this.hasField('teams') && !this.getFieldParam('teams', 'default')) {
defaultHash['teamsIds'] = [defaultTeamId];
defaultHash['teamsNames'] = {};
defaultHash['teamsNames'][defaultTeamId] = this.getUser().get('defaultTeamName')
}
defaultHash = Espo.Utils.cloneDeep(defaultHash);
for (var attr in defaultHash) {
if (this.has(attr)) {
delete defaultHash[attr];
}
}
defaultHash = Espo.Utils.cloneDeep(defaultHash);
this.set(defaultHash, {silent: true});
},
_getDefaultValue: function (defaultValue) {
parseDefaultValue: function (defaultValue) {
if (typeof defaultValue == 'string' && defaultValue.indexOf('javascript:') === 0 ) {
var code = defaultValue.substring(11);
defaultValue = (new Function( "with(this) { " + code + "}")).call(this);
-1
View File
@@ -115,7 +115,6 @@ Espo.define('views/modals/edit', 'views/modal', function (Dep) {
}, this);
model.fetch();
} else {
model.populateDefaults();
if (this.options.relate) {
model.setRelate(this.options.relate);
}
+27
View File
@@ -429,6 +429,33 @@ Espo.define('views/record/base', ['view', 'view-record-helper'], function (Dep,
return data;
},
populateDefaults: function () {
this.model.populateDefaults();
var defaultHash = {};
if (this.model.hasField('assignedUser')) {
defaultHash['assignedUserId'] = this.getUser().id;
defaultHash['assignedUserName'] = this.getUser().get('name');
}
var defaultTeamId = this.getUser().get('defaultTeamId');
if (defaultTeamId) {
if (this.model.hasField('teams') && !this.model.getFieldParam('teams', 'default')) {
defaultHash['teamsIds'] = [defaultTeamId];
defaultHash['teamsNames'] = {};
defaultHash['teamsNames'][defaultTeamId] = this.getUser().get('defaultTeamName')
}
}
for (var attr in defaultHash) {
if (this.model.has(attr)) {
delete defaultHash[attr];
}
}
this.model.set(defaultHash, {silent: true});
},
showDuplicate: function (duplicates) {
},
+3
View File
@@ -75,6 +75,9 @@ Espo.define('views/record/edit', 'views/record/detail', function (Dep) {
},
setup: function () {
if (this.model.isNew()) {
this.populateDefaults();
}
Dep.prototype.setup.call(this);
},