blob: 1a977410022278d28494cac127fa2138c2431901 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
define(function(require){
'use strict';
var VXGroupBase = require('model_bases/VXGroupBase');
var localization = require('utils/XALangSupport');
var VXGroup = VXGroupBase.extend(
/** @lends VXGroup.prototype */
{
/**
* VXGroup initialize method
* @augments XABaseModel
* @constructs
*/
initialize: function() {
this.modelName = 'VXGroup';
this.bindErrorEvents();
},
/**
* @function schema
* This method is meant to be used by UI,
* by default we will remove the unrequired attributes from serverSchema
*/
schema : function(){
var attrs = _.omit(this.serverSchema, 'id', 'createDate', 'updateDate', "version",
"createDate", "updateDate", "displayOption",
"permList", "forUserId", "status", "priGrpId",
"priAcctId", "updatedBy",
"isSystem","credStoreId","description","groupType");
return _.extend(attrs,{
name : {
type : 'Text',
title : localization.tt("lbl.groupName") +' *',
validators : ['required',{type:'regexp',regexp:/^[a-zA-Z][a-zA-Z0-9_'&-]*[A-Za-z0-9]$/i,message :'Please enter valid name.'}],
editorAttrs :{ 'maxlength': 32},
},
description : {
type : 'TextArea',
title : localization.tt("lbl.description")
}
});
},
/*links : {
detail: {
href: 'javascript:void(0)',
label : this.toString()
},
list: {
href: 'javascript:void(0)',
label : this.toString()
},
},*/
/** This models toString() */
toString : function(){
return /*this.get('name')*/;
}
}, {
// static class members
});
return VXGroup;
});