Repository: ambari Updated Branches: refs/heads/trunk cfa30ec70 -> 49a6929b9
AMBARI-19332 : Issue with FS action node in oozie workflow designer (Venkata Sairam via nitirajrathore) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/49a6929b Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/49a6929b Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/49a6929b Branch: refs/heads/trunk Commit: 49a6929b93a8505db3a33b8fb9c1653ae0716263 Parents: cfa30ec Author: Nitiraj Rathore <[email protected]> Authored: Tue Jan 3 12:07:52 2017 +0530 Committer: Nitiraj Rathore <[email protected]> Committed: Tue Jan 3 12:10:11 2017 +0530 ---------------------------------------------------------------------- .../resources/ui/app/components/fs-action.js | 5 +- .../ui/app/components/prepare-config-fs.js | 16 +- .../ui/app/domain/actionjob_hanlder.js | 115 ++++++++++- .../templates/components/prepare-config-fs.hbs | 207 +++---------------- .../ui/app/validators/fs-action-validator.js | 8 +- 5 files changed, 146 insertions(+), 205 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/49a6929b/contrib/views/wfmanager/src/main/resources/ui/app/components/fs-action.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/components/fs-action.js b/contrib/views/wfmanager/src/main/resources/ui/app/components/fs-action.js index 03acbf3..6233b62 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/components/fs-action.js +++ b/contrib/views/wfmanager/src/main/resources/ui/app/components/fs-action.js @@ -21,7 +21,7 @@ const Validations = buildValidations({ 'actionModel.fsOps': { validators: [ validator('fs-action-validator', { - dependentKeys: ['actionModel.fsOps.@each'] + dependentKeys: ['[email protected]','[email protected]', '[email protected]', '[email protected]'] }) ] } @@ -32,12 +32,13 @@ export default Ember.Component.extend(Validations, { setUp: function() { if (this.get('actionModel.fsOps') === undefined) { this.set("actionModel.fsOps", Ember.A([])); + this.set("actionModel.fsOps", [{"type":"mkdir"}]); } if (this.get('actionModel.configuration') === undefined) { this.set("actionModel.configuration", {}); this.set("actionModel.configuration.property", Ember.A([])); } - var field = 'validations.attrs.actionModel.fsOps.isDirty'; + var field = 'validations.attrs.actionModel.fsOps.isInvalid'; this.set(field, false); this.sendAction('register', 'fsAction', this); }.on('init'), http://git-wip-us.apache.org/repos/asf/ambari/blob/49a6929b/contrib/views/wfmanager/src/main/resources/ui/app/components/prepare-config-fs.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/components/prepare-config-fs.js b/contrib/views/wfmanager/src/main/resources/ui/app/components/prepare-config-fs.js index 3c425d9..ba9b91e 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/components/prepare-config-fs.js +++ b/contrib/views/wfmanager/src/main/resources/ui/app/components/prepare-config-fs.js @@ -84,9 +84,7 @@ export default Ember.Component.extend({ case "delete": case "touchz": this.get('fsOps').pushObject({ - settings: { - path: this.get('path') - }, + path :this.get('path'), type: value }); break; @@ -99,33 +97,27 @@ export default Ember.Component.extend({ permissionsObj = Ember.$.extend(true, permissionsObj, rPerm); var perm = oPerm.operm + ""+ gPerm.gperm + ""+ rPerm.rperm; this.get('fsOps').pushObject({ - settings: { path: this.get('path'), permissions: perm, permissionsObj: permissionsObj, recursive: this.get('recursive'), - dirfiles: this.get('dirFiles') - }, + dirfiles: this.get('dirFiles'), type: value }); break; case "chgrp": this.get('fsOps').pushObject({ - settings: { path: this.get('path'), group: this.get('group'), recursive: this.get('recursive'), - dirfiles: this.get('dirFiles') - }, + dirfiles: this.get('dirFiles'), type: value }); break; case "move": this.get('fsOps').pushObject({ - settings: { source: this.get('source'), - target: this.get('target') - }, + target: this.get('target'), type: value }); break; http://git-wip-us.apache.org/repos/asf/ambari/blob/49a6929b/contrib/views/wfmanager/src/main/resources/ui/app/domain/actionjob_hanlder.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/domain/actionjob_hanlder.js b/contrib/views/wfmanager/src/main/resources/ui/app/domain/actionjob_hanlder.js index 2ce0ab4..af61c91 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/domain/actionjob_hanlder.js +++ b/contrib/views/wfmanager/src/main/resources/ui/app/domain/actionjob_hanlder.js @@ -331,27 +331,66 @@ var FSActionJobHandler=ActionJobHandler.extend({ } switch (fsop.type) { case "delete": - nodeObj.fs["delete"].push({"_path":fsop.settings.path}); + nodeObj.fs["delete"].push({"_path":fsop.path}); break; case "mkdir": - nodeObj.fs["mkdir"].push({"_path":fsop.settings.path}); + nodeObj.fs["mkdir"].push({"_path":fsop.path}); break; case "move": - nodeObj.fs["move"].push({"_source":fsop.settings.source,"_target":fsop.settings.target}); + nodeObj.fs["move"].push({"_source":fsop.source,"_target":fsop.target}); break; case "touchz": - nodeObj.fs["touchz"].push({"_path":fsop.settings.path}); + nodeObj.fs["touchz"].push({"_path":fsop.path}); break; case "chmod": - var conf={"_path":fsop.settings.path,"_permissions":fsop.settings.permissions,"_dir-files":fsop.settings.dirfiles}; - if (fsop.settings.recursive){ + var permissions, ownerPerm = 0, groupPerm = 0, othersPerm = 0, dirFiles = fsop.dirfiles; + + if(fsop){ + if(fsop.oread){ + ownerPerm = 1; + } + if(fsop.owrite){ + ownerPerm = ownerPerm + 2; + } + if(fsop.oexecute){ + ownerPerm = ownerPerm + 4; + } + if(fsop.gread){ + groupPerm = 1; + } + if(fsop.gwrite){ + groupPerm = groupPerm + 2; + } + if(fsop.gexecute){ + groupPerm = groupPerm + 4; + } + if(fsop.rread){ + othersPerm = 1; + } + if(fsop.rwrite){ + othersPerm = othersPerm + 2; + } + if(fsop.rexecute){ + othersPerm = othersPerm + 4; + } + } + permissions = ownerPerm+""+groupPerm+""+othersPerm; + if(dirFiles === undefined){ + dirFiles = false; + } + var conf={"_path":fsop.path,"_permissions":permissions,"_dir-files":dirFiles}; + if (fsop.recursive){ conf["recursive"]=""; } nodeObj.fs["chmod"].push(conf); break; case "chgrp": - var conf={"_path":fsop.settings.path,"_group":fsop.settings.group,"_dir-files":fsop.settings.dirfiles}; - if (fsop.settings.recursive){ + var dirFiles = fsop.dirfiles; + if(dirFiles === undefined){ + dirFiles = false; + } + var conf={"_path":fsop.path,"_group":fsop.group,"_dir-files":dirFiles}; + if (fsop.recursive){ conf["recursive"]=""; } nodeObj.fs["chgrp"].push(conf); @@ -376,7 +415,7 @@ var FSActionJobHandler=ActionJobHandler.extend({ var fsConf={}; fsOps.push(fsConf); fsConf.type=key; - var settings=fsConf.settings={}; + var settings=fsConf; switch (key) { case "delete": settings.path=fileOpJson._path; @@ -394,14 +433,68 @@ var FSActionJobHandler=ActionJobHandler.extend({ case "chmod": settings.path=fileOpJson._path; settings.permissions=fileOpJson._permissions; + var perm = settings.permissions.toString(); + + + for(var i=0; i< perm.length; i++){ + var keyField; + if(i===0){ + keyField = "o"; + }else if(i===1){ + keyField = "g"; + }else if(i===2){ + keyField = "r"; + } + if(perm.slice(i,i+1) === "0"){ + settings[keyField+"read"] = 0; + settings[keyField+"write"] = 0; + settings[keyField+"execute"] = 0; + }else if(perm.slice(i,i+1) === "1"){ + settings[keyField+"read"] = 1; + settings[keyField+"write"] = 0; + settings[keyField+"execute"] = 0; + }else if(perm.slice(i,i+1) === "2"){ + settings[keyField+"read"] = 0; + settings[keyField+"write"] = 2; + settings[keyField+"execute"] = 0; + }else if (perm.slice(i,i+1) === "3"){ + settings[keyField+"read"] = 1; + settings[keyField+"write"] = 2; + settings[keyField+"execute"] = 0; + }else if (perm.slice(i,i+1) === "4"){ + settings[keyField+"read"] = 0; + settings[keyField+"write"] = 0; + settings[keyField+"execute"] = 4; + }else if (perm.slice(i,i+1) === "5"){ + settings[keyField+"read"] = 1; + settings[keyField+"write"] = 0; + settings[keyField+"execute"] = 4; + }else if (perm.slice(i,i+1) === "6"){ + settings[keyField+"read"] = 0; + settings[keyField+"write"] = 2; + settings[keyField+"execute"] = 4; + }else if (perm.slice(i,i+1) === "7"){ + settings[keyField+"read"] = 1; + settings[keyField+"write"] = 2; + settings[keyField+"execute"] = 4; + } + } settings.dirfiles=fileOpJson["_dir-files"]; - settings.recursive=fileOpJson["recursive"]?true:false; + if(fileOpJson.hasOwnProperty("recursive")){ + settings.recursive = true; + }else{ + settings.recursive = false; + } break; case "chgrp": settings.path=fileOpJson._path; settings.group=fileOpJson._group; settings.dirfiles=fileOpJson["_dir-files"]; - settings.recursive=fileOpJson["recursive"]?true:false; + if(fileOpJson.hasOwnProperty("recursive")){ + settings.recursive = true; + }else{ + settings.recursive = false; + } break; } }); http://git-wip-us.apache.org/repos/asf/ambari/blob/49a6929b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/prepare-config-fs.hbs ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/prepare-config-fs.hbs b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/prepare-config-fs.hbs index c549a26..545664f 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/prepare-config-fs.hbs +++ b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/prepare-config-fs.hbs @@ -33,22 +33,27 @@ </select> </div> <div class="col-xs-1"> - <input class="form-control btn btn-danger" type="button" {{action "deletePrepare" index}} value="-"> + <input class="form-control btn btn-success" type="button" {{action "addPrepare" index}} value="+"> </div> + {{#if (not-eq index 0)}} + <div class="col-xs-1"> + <input class="form-control btn btn-danger" type="button" {{action "deletePrepare" index}} value="-"> + </div> + {{/if}} </div> {{#if (or (eq prep.type "delete") (eq prep.type "mkdir") (eq prep.type "touchz"))}} <div class="form-group bottom-margin-zero"> <label class="control-label col-xs-2">Path</label> <div class="col-xs-7"> <div class="input-group"> - {{input type="text" class="form-control" value=prep.settings.path placeholder="path of the directory"}} + {{input type="text" class="form-control" value=prep.path placeholder="path of the directory"}} <span class="input-group-btn"> <button class="btn btn-primary" type="button" {{action "openFileBrowserForListItem" index "path"}}>Browse</button> </span> </div> </div> </div> - {{#unless prep.settings.path}} + {{#unless prep.path}} <div class="form-group bottom-margin-zero"> <label class="text-danger control-label col-xs-2"> </label> @@ -63,14 +68,14 @@ <label class="control-label col-xs-2">Path</label> <div class=" col-xs-7"> <div class="input-group"> - {{input type="text" class="form-control" name="name" value=prep.settings.path placeholder="Path"}} + {{input type="text" class="form-control" name="name" value=prep.path placeholder="Path"}} <span class="input-group-btn"> <button class="btn btn-primary" type="button" {{action "openFileBrowserForListItem" index "path"}}>Browse</button> </span> </div> </div> </div> - {{#unless prep.settings.path}} + {{#unless prep.path}} <div class="form-group bottom-margin-zero"> <label class="text-danger control-label col-xs-2"> </label> @@ -82,10 +87,10 @@ <div class="form-group bottom-margin-zero"> <label class="control-label col-xs-2">Group</label> <div class=" col-xs-7"> - {{input class="form-control" type="text" indValidations="required" name="value" value=prep.settings.group placeholder="Group"}} + {{input class="form-control" type="text" indValidations="required" name="value" value=prep.group placeholder="Group"}} </div> </div> - {{#unless prep.settings.group}} + {{#unless prep.group}} <div class="form-group bottom-margin-zero"> <label class="text-danger control-label col-xs-2"> </label> @@ -98,8 +103,8 @@ <div class="file-op-setting"> <div class="col-xs-10"> <div class="checkbox"> - <label class="labelCheckbox" style="padding-left:20px;" title="">{{input type="checkbox" name="recursive" checked=prep.settings.recursive}}Recursive</label> - <label class="labelCheckbox" title="">{{input type="checkbox" name="dirfiles" checked=prep.settings.dirfiles}}Dir-files</label> + <label class="labelCheckbox" style="padding-left:20px;" title="">{{input type="checkbox" name="recursive" checked=prep.recursive}}Recursive</label> + <label class="labelCheckbox" title="">{{input type="checkbox" name="dirfiles" checked=prep.dirfiles}}Dir-files</label> </div> </div> </div> @@ -110,14 +115,14 @@ <label class="control-label col-xs-2">Source</label> <div class=" col-xs-7"> <div class="input-group"> - {{input type="text" class="form-control" name="name" value=prep.settings.source placeholder="Source"}} + {{input type="text" class="form-control" name="name" value=prep.source placeholder="Source"}} <span class="input-group-btn"> <button class="btn btn-primary" type="button" {{action "openFileBrowserForListItem" index "source"}}>Browse</button> </span> </div> </div> </div> - {{#unless prep.settings.source}} + {{#unless prep.source}} <div class="form-group bottom-margin-zero"> <label class="text-danger control-label col-xs-2"> </label> @@ -131,14 +136,14 @@ <label class="control-label col-xs-2">Target</label> <div class=" col-xs-7"> <div class="input-group"> - {{input class="form-control" type="text" indValidations="required" name="value" value=prep.settings.target placeholder="Target"}} + {{input class="form-control" type="text" indValidations="required" name="value" value=prep.target placeholder="Target"}} <span class="input-group-btn"> <button class="btn btn-primary" type="button" {{action "openFileBrowserForListItem" index "target"}}>Browse</button> </span> </div> </div> </div> - {{#unless prep.settings.target}} + {{#unless prep.target}} <div class="form-group bottom-margin-zero"> <label class="text-danger control-label col-xs-2"> </label> @@ -154,14 +159,14 @@ <label class="control-label col-xs-2">Path</label> <div class=" col-xs-7"> <div class="input-group"> - {{input type="text" class="form-control" name="name" value=prep.settings.path placeholder="Path"}} + {{input type="text" class="form-control" name="name" value=prep.path placeholder="Path"}} <span class="input-group-btn"> <button class="btn btn-primary" type="button" {{action "openFileBrowserForListItem" index "path"}}>Browse</button> </span> </div> </div> </div> - {{#unless prep.settings.path}} + {{#unless prep.path}} <div class="form-group bottom-margin-zero"> <label class="text-danger control-label col-xs-2"> </label> @@ -173,7 +178,6 @@ <div class="form-group bottom-margin-zero"> <label class="control-label col-xs-2">Permissions</label> <div class="file-op-setting"> - <div class="col-xs-10"> <div class="checkbox"> <label class="labelCheckbox control-label col-xs-2" title=""></label> @@ -185,36 +189,35 @@ <div class="col-xs-10"> <div class="checkbox"> <label class="labelCheckbox control-label col-xs-2" title="">Owner</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="recursive" checked=prep.settings.permissionsObj.oread}}</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=prep.settings.permissionsObj.owrite}}</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=prep.settings.permissionsObj.oexecute}}</label> + <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="recursive" checked=prep.oread}}</label> + <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=prep.owrite}}</label> + <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=prep.oexecute}}</label> </div> </div> <div class="col-xs-10"> <div class="checkbox"> <label class="labelCheckbox control-label col-xs-2" title="">Group</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="recursive" checked=prep.settings.permissionsObj.gread}}</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=prep.settings.permissionsObj.gwrite}}</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=prep.settings.permissionsObj.gexecute}}</label> + <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="recursive" checked=prep.gread}}</label> + <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=prep.gwrite}}</label> + <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=prep.gexecute}}</label> </div> </div> <div class="col-xs-10"> <div class="checkbox"> <label class="labelCheckbox control-label col-xs-2" title="">Others</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="recursive" checked=prep.settings.permissionsObj.rread}}</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=prep.settings.permissionsObj.rwrite}}</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=prep.settings.permissionsObj.rexecute}}</label> + <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="recursive" checked=prep.rread}}</label> + <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=prep.rwrite}}</label> + <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=prep.rexecute}}</label> </div> </div> </div> </div> - <div class="form-group"> <div class="file-op-setting"> <div class="col-xs-10"> <div class="checkbox"> - <label class="labelCheckbox" style="padding-left:20px;" title="">{{input type="checkbox" name="recursive" checked=prep.settings.recursive}}Recursive</label> - <label class="labelCheckbox" title="">{{input type="checkbox" name="dirfiles" checked=prep.settings.dirfiles}}Dir-files</label> + <label class="labelCheckbox" style="padding-left:20px;" title="">{{input type="checkbox" name="recursive" checked=prep.recursive}}Recursive</label> + <label class="labelCheckbox" title="">{{input type="checkbox" name="dirfiles" checked=prep.dirfiles}}Dir-files</label> </div> </div> </div> @@ -223,152 +226,4 @@ </div> </div> {{/each}} - <div class="panel panel-default"> - <div class="panel-body"> - <div class="form-group"> - <label class="control-label col-xs-2">Command</label> - <div class=" col-xs-3"> - <select class="form-control" onchange={{action "onPrepareTypeChange" value="target.value"}}> - <option value="mkdir">mkdir</option> - <option value="delete">delete</option> - <option value="move">move</option> - <option value="chmod">chmod</option> - <option value="touchz">touchz</option> - <option value="chgrp">chgrp</option> - </select> - </div> - <div class="col-xs-1"> - <input class="form-control btn btn-success" type="button" {{action "addPrepare"}} value="+"> - </div> - </div> - {{#if mkdirORdeleteORtouchz}} - <div class="form-group"> - <label class="control-label col-xs-2">Path</label> - <div class="col-xs-7"> - <div class="input-group"> - {{input type="text" class="form-control" value=path placeholder="path of the directory"}} - <span class="input-group-btn"> - <button class="btn btn-primary" type="button" {{action "openFileBrowser" "path"}}>Browse</button> - </span> - </div> - </div> - - </div> - {{/if}} - {{#if chgrp}} - <div class="form-group"> - <label class="control-label col-xs-2">Path</label> - <div class=" col-xs-7"> - <div class="input-group"> - {{input type="text" class="form-control" name="name" value=path placeholder="Path"}} - <span class="input-group-btn"> - <button class="btn btn-primary" type="button" {{action "openFileBrowser" "path"}}>Browse</button> - </span> - </div> - </div> - </div> - <div class="form-group"> - <label class="control-label col-xs-2">Group</label> - <div class=" col-xs-7"> - {{input class="form-control" type="text" indValidations="required" name="value" value=group placeholder="Group"}} - </div> - <div class="file-op-setting"> - <div class="col-xs-10"> - <div class="checkbox"> - <label class="labelCheckbox" style="padding-left:20px;" title="">{{input type="checkbox" name="recursive" checked=recursive}}Recursive</label> - <label class="labelCheckbox" title="">{{input type="checkbox" name="dirFiles" checked=dirFiles}}Dir-files</label> - </div> - </div> - </div> - </div> - {{/if}} - {{#if move}} - <div class="form-group"> - <label class="control-label col-xs-2">Source</label> - <div class=" col-xs-7"> - <div class="input-group"> - {{input type="text" class="form-control" name="name" value=source placeholder="Source"}} - <span class="input-group-btn"> - <button class="btn btn-primary" type="button" {{action "openFileBrowser" "source"}}>Browse</button> - </span> - </div> - </div> - </div> - <div class="form-group"> - <label class="control-label col-xs-2">Target</label> - <div class=" col-xs-7"> - <div class="input-group"> - {{input class="form-control" type="text" indValidations="required" name="value" value=target placeholder="Target"}} - <span class="input-group-btn"> - <button class="btn btn-primary" type="button" {{action "openFileBrowser" "target"}}>Browse</button> - </span> - </div> - </div> - </div> - {{/if}} - {{#if chmod}} - <div class="form-group"> - <label class="control-label col-xs-2">Path</label> - <div class=" col-xs-7"> - <div class="input-group"> - {{input type="text" class="form-control" name="name" value=path placeholder="Path"}} - <span class="input-group-btn"> - <button class="btn btn-primary" type="button" {{action "openFileBrowser" "path"}}>Browse</button> - </span> - </div> - </div> - </div> - <div class="form-group"> - <label class="control-label col-xs-2">Permissions</label> - - - <div class="file-op-setting"> - - <div class="col-xs-10"> - <div class="checkbox"> - <label class="labelCheckbox control-label col-xs-2" title=""></label> - <label class="labelCheckbox control-label col-xs-2" title="">Read</label> - <label class="labelCheckbox control-label col-xs-2" title="">Write</label> - <label class="labelCheckbox control-label col-xs-2" title="">Execute</label> - </div> - </div> - <div class="col-xs-10"> - <div class="checkbox"> - <label class="labelCheckbox control-label col-xs-2" title="">Owner</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="recursive" checked=oread}}</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=owrite}}</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=oexecute}}</label> - </div> - </div> - <div class="col-xs-10"> - <div class="checkbox"> - <label class="labelCheckbox control-label col-xs-2" title="">Group</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="recursive" checked=gread}}</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=gwrite}}</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=gexecute}}</label> - </div> - </div> - <div class="col-xs-10"> - <div class="checkbox"> - <label class="labelCheckbox control-label col-xs-2" title="">Others</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="recursive" checked=rread}}</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=rwrite}}</label> - <label class="labelCheckbox control-label col-xs-2" title="">{{input type="checkbox" name="dirFiles" checked=rexecute}}</label> - </div> - </div> - </div> - </div> - <div class="form-group"> - <div class="file-op-setting"> - <div class="col-xs-10"> - <div class="checkbox"> - <label class="labelCheckbox" style="padding-left:20px;" title="">{{input type="checkbox" name="recursive" checked=recursive}}Recursive</label> - <label class="labelCheckbox" title="">{{input type="checkbox" name="dirFiles" checked=dirFiles}}Dir-files</label> - </div> - </div> - </div> - </div> - {{/if}} - </div> - </div> </div> http://git-wip-us.apache.org/repos/asf/ambari/blob/49a6929b/contrib/views/wfmanager/src/main/resources/ui/app/validators/fs-action-validator.js ---------------------------------------------------------------------- diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/validators/fs-action-validator.js b/contrib/views/wfmanager/src/main/resources/ui/app/validators/fs-action-validator.js index 4064379..edd96d2 100644 --- a/contrib/views/wfmanager/src/main/resources/ui/app/validators/fs-action-validator.js +++ b/contrib/views/wfmanager/src/main/resources/ui/app/validators/fs-action-validator.js @@ -28,25 +28,25 @@ const FsActionValidator = BaseValidator.extend({ case "mkdir": case "delete": case "touchz": - if (!item.settings.path) { + if (!item.path) { isValidated = false; msg = "path is mandatory"; } break; case "chmod": - if (!item.settings.path) { + if (!item.path) { isValidated = false; msg = "path and permissions are mandatory"; } break; case "chgrp": - if (!item.settings.path || !item.settings.group) { + if (!item.path || !item.group) { isValidated = false; msg = "path and group are mandatory"; } break; case "move": - if (!item.settings.source || !item.settings.target) { + if (!item.source || !item.target) { isValidated = false; msg = "source and target are mandatory"; }
