blob: 1861cc6ffe300636fe409118e31647f636497bff [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(["dojo/_base/xhr",
"dojo/dom",
"dojo/dom-construct",
"dojo/_base/window",
"dijit/registry",
"dojo/parser",
"dojo/_base/array",
"dojo/_base/event",
'dojo/_base/json',
"dijit/form/NumberSpinner", // required by the form
/* dojox/ validate resources */
"dojox/validate/us", "dojox/validate/web",
/* basic dijit classes */
"dijit/Dialog",
"dijit/form/CheckBox", "dijit/form/Textarea",
"dijit/form/FilteringSelect", "dijit/form/TextBox",
"dijit/form/ValidationTextBox", "dijit/form/DateTextBox",
"dijit/form/TimeTextBox", "dijit/form/Button",
"dijit/form/RadioButton", "dijit/form/Form",
"dijit/form/DateTextBox",
/* basic dojox classes */
"dojox/form/BusyButton", "dojox/form/CheckedMultiSelect",
"dojo/domReady!"],
function (xhr, dom, construct, win, registry, parser, array, event, json) {
var addGroupMember = {};
var node = construct.create("div", null, win.body(), "last");
var convertToGroupMember = function convertToGroupMember(formValues)
{
var newGroupMember = {};
newGroupMember.name = formValues.name;
return newGroupMember;
};
xhr.get({url: "group/addGroupMember.html",
sync: true,
load: function(data) {
var theForm;
node.innerHTML = data;
addGroupMember.dialogNode = dom.byId("addGroupMember");
parser.instantiate([addGroupMember.dialogNode]);
theForm = registry.byId("formAddGroupMember");
theForm.on("submit", function(e) {
event.stop(e);
if(theForm.validate()){
var newGroupMember = convertToGroupMember(theForm.getValues());
var that = this;
xhr.put({url: "rest/groupmember/"+encodeURIComponent(addGroupMember.groupProvider) +
"/" + encodeURIComponent(addGroupMember.group) + "/" + encodeURIComponent(newGroupMember.name), sync: true, handleAs: "json",
headers: { "Content-Type": "application/json"},
putData: json.toJson(newGroupMember),
load: function(x) {that.success = true; },
error: function(error) {that.success = false; that.failureReason = error;}});
if(this.success === true)
{
registry.byId("addGroupMember").hide();
}
else
{
alert("Error:" + this.failureReason);
}
return false;
}else{
alert('Form contains invalid data. Please correct first');
return false;
}
});
}});
addGroupMember.show = function(groupProvider, group) {
addGroupMember.groupProvider = groupProvider;
addGroupMember.group = group;
registry.byId("formAddGroupMember").reset();
registry.byId("addGroupMember").show();
};
return addGroupMember;
});