ranger-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From omal...@apache.org
Subject [04/44] ARGUS-1. Initial code commit (Selvamohan Neethiraj via omalley)
Date Thu, 14 Aug 2014 20:50:15 GMT
http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/common/loading_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/common/loading_tmpl.html b/security-admin/src/main/webapp/templates/common/loading_tmpl.html
new file mode 100644
index 0000000..4a97e90
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/common/loading_tmpl.html
@@ -0,0 +1,30 @@
+<div class="loading-img">
+					<!-- <img src="images/xa-logo.png" /> -->
+
+					<div id="center">
+						<div class="letter_container_1">
+							<span>L</span>
+						</div>
+						<div class="letter_container_2">
+							<span>O</span>
+						</div>
+						<div class="letter_container_3">
+							<span>A</span>
+						</div>
+						<div class="letter_container_4">
+							<span>D</span>
+						</div>
+						<div class="letter_container_5">
+							<span>I</span>
+						</div>
+						<div class="letter_container_6">
+							<span>N</span>
+						</div>
+						<div class="letter_container_7">
+							<span>G</span>
+						</div>
+						<div class="letter_container_8">
+							<span>..</span>
+						</div>
+					</div>
+				</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/dashboard/DashboardLayout_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/dashboard/DashboardLayout_tmpl.html b/security-admin/src/main/webapp/templates/dashboard/DashboardLayout_tmpl.html
new file mode 100644
index 0000000..e12b449
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/dashboard/DashboardLayout_tmpl.html
@@ -0,0 +1,3 @@
+
+<h3 class="wrap-header">Welcome!!</h3>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/folders/FolderInfo_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/folders/FolderInfo_tmpl.html b/security-admin/src/main/webapp/templates/folders/FolderInfo_tmpl.html
new file mode 100644
index 0000000..c4baade
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/folders/FolderInfo_tmpl.html
@@ -0,0 +1,118 @@
+<div class="well well-small ">
+	<!-- <label style="color: white;padding: 5px;font-weight: 700;background: -webkit-linear-gradient(#4C89D6, #b8892d);background: -o-linear-gradient(#f7ec13, #b8892d);background: linear-gradient(#94BBEB, #2D75B8);">Policy Information</label> -->
+	<div class="fancy title" style="margin-bottom: 16px;">
+	   <span>Policy Information</span>
+	</div>
+	<div class="datagrid-stretch-wrapper newScroll" style="overflow-y: auto; height:400px"><!-- height:400px;"> -->
+	{{#if hdfsModel}}	
+		<label class="labelInverse">{{tt 'lbl.resourceInformation'}} :</label>
+		<table class="table table-bordered">
+			<tbody>
+				{{#if name}}
+				<tr>
+					<td>{{tt 'lbl.resourcePath'}}(s)</td>
+					<td> {{{customPermString name }}} </td>
+				</tr>
+				{{/if}}
+			</tbody>
+		</table>
+	{{/if}}			
+	{{#if hiveOrHbaseModel}}	
+		<label class="labelInverse">{{tt 'lbl.resourceInformation'}} :</label>
+		<table class="table table-bordered">
+			<tbody>
+				{{#if databases}}
+				<tr>
+					<td>{{tt 'lbl.database'}}(s)</td>
+					<td>{{{customPermString databases 'label label-info'}}}</td>
+				</tr>
+				{{/if}}
+				{{#if tables}}
+				<tr>
+					<td>{{tt 'lbl.table'}}(s)</td>
+					<td> {{{customPermString tables 'label label-success'}}} </td>
+				</tr>
+				{{/if}}
+				{{#if columnFamilies}}
+				<tr>
+					<td>{{tt 'lbl.columnFamilies'}}(s)</td>
+					<td> {{{customPermString columnFamilies 'label label-info'}}} </td>
+				</tr>
+				{{/if}}
+				{{#if columns}}
+				<tr>
+					<td>{{tt 'lbl.column'}}(s)</td>
+					<td> {{{customPermString columns 'label label-yellow'}}} </td>
+				</tr>
+				{{/if}}
+				{{#if udfs}}
+				<tr>
+					<td>{{tt 'lbl.udf'}}(s)</td>
+					<td> {{{customPermString udfs 'label label-success'}}} </td>
+				</tr>
+				{{/if}}
+			</tbody>
+		</table>
+	{{/if}}	
+		<!-- <label class="labelInverse" >{{tt 'lbl.policyInfo'}} :</label> -->
+		<table class="table table-bordered">
+			<tbody>
+				<tr>
+					<td>{{tt 'lbl.createdBy'}}</td>
+					<td> {{owner}} </td>
+				</tr>
+				<tr>
+					<td>{{tt 'lbl.createdOn'}}</td>
+					<td>{{dateFormat createDate format="MM/DD/YYYY HH:mm:ss A"}}</td>
+				</tr>
+				<tr>
+					<td>{{tt 'lbl.updatedBy'}}</td>
+					<td> {{updatedBy}} </td>
+				</tr>
+				<tr>
+					<td>{{tt 'lbl.updatedOn'}}</td>
+					<td>{{dateFormat updateDate format="MM/DD/YYYY HH:mm:ss A"}} </td>
+				</tr>
+			</tbody>
+		</table>
+	{{#if  groupPermListArr}}	
+		<label class="labelInverse"> {{tt 'lbl.permissionGranted'}} :</label>
+		<table class="table table-bordered">
+			<thead>
+				<tr>
+					<th >{{tt 'lbl.groupName'}}</th>
+					<th >{{tt 'lbl.permissions'}}</th>
+				</tr>
+			</thead>
+			<tbody>
+				{{#each groupPermListArr}}
+				<tr>
+					<td>{{./this.name}}</td>
+					<td >{{{customPermString ./this.permType}}}</td>
+				</tr>
+				{{/each}}
+			</tbody>
+		</table>
+	{{/if}}	
+	{{#if  userPermListArr}}
+	<label class="labelInverse">{{tt 'lbl.userPermissions'}} :</label>
+		<table class="table table-bordered">
+			<thead>
+				<tr>
+					<th >{{tt 'lbl.userName'}}</th>
+					<th >{{tt 'lbl.permissions'}}</th>
+				</tr>
+			</thead>
+			<tbody>
+				{{#each userPermListArr}}
+				<tr>
+					<td>{{./this.name}}</td>
+					<td style="word-break: break-word;">{{{customPermString ./this.permType}}}</td>
+				</tr>
+				{{/each}}
+			</tbody>
+		</table>
+	{{/if}}	
+		<!-- <a href="javascript:void(0);" class="btn btn-primary" disabled="disabled" onclick="alert('Coming Soon..')"> Manage Folder </a> -->
+	</div>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/hbase/HbasePolicyCreate_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/hbase/HbasePolicyCreate_tmpl.html b/security-admin/src/main/webapp/templates/hbase/HbasePolicyCreate_tmpl.html
new file mode 100644
index 0000000..e8739c0
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/hbase/HbasePolicyCreate_tmpl.html
@@ -0,0 +1,29 @@
+{{#if editPolicy}}
+	<h4> {{tt 'h.editPolicy'}}</h4>
+{{else}}
+	<h4> {{tt 'h.createPolicy'}} </h4>
+{{/if}}	
+<div class="wrap non-collapsible ">
+
+	<div data-id="r_form"></div>
+	<div class="form-actions form-policy" class="row-fluid">
+		{{#if editPolicy}}
+			<button type="submit" data-id="save" class="btn btn-primary btn-spinner">
+				<span>Save</span>
+				<i class="icon-spinner icon-spin"></i>
+			</button>
+		{{else}}
+			<button type="submit" data-id="save" class="btn btn-primary btn-spinner">
+				<span>Add</span>
+				<i class="icon-spinner icon-spin"></i>
+			</button>
+		{{/if}}	
+			<button type="button" data-id="cancel" class="btn btn-inverse">
+				Cancel
+			</button>
+		{{#if editPolicy}}
+			<button type="button" data-id="delete" class="btn btn-danger" ><!-- style="margin-left: 27%;" -->Delete</button>
+		{{/if}}	
+	</div>
+</div>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/hbase/HbasePolicyForm_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/hbase/HbasePolicyForm_tmpl.html b/security-admin/src/main/webapp/templates/hbase/HbasePolicyForm_tmpl.html
new file mode 100644
index 0000000..202f046
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/hbase/HbasePolicyForm_tmpl.html
@@ -0,0 +1,39 @@
+<form class="form-horizontal">
+	<fieldset>
+		<p class="formHeader">
+			Policy Details : 
+		</p>
+		<div class="" data-fields="policyName"></div>
+		<div class="" data-fields="tables"></div>
+		<div class="" data-fields="columnFamilies"></div>
+		<div class="" data-fields="columns"></div>
+		<div class="" data-fields="_vAuditListToggle"></div>
+		<!--
+		<div class="" data-fields="isEncrypt"></div>
+		-->
+	</fieldset>
+	<fieldset>
+		<p class="formHeader"> 
+			User and Group Permissions : 
+		</p>
+		<div class="" data-customfields="groupPerms">
+			<div class="control-group">
+				<label class="control-label">{{tt 'lbl.groupPermissions'}}</label>
+				<div class="controls">
+					<img src="images/loading.gif" style=" margin-left: 4%; margin-top: 1%;" />
+				</div>
+			</div>		
+		</div>
+		<div class="" data-customfields="userPerms">
+			<div class="control-group">
+				<label class="control-label">{{tt 'lbl.userPermissions'}}</label>
+				<div class="controls">
+					<img src="images/loading.gif" style=" margin-left: 4%; margin-top: 1%;" />
+				</div>
+			</div>
+		</div>
+		<div class="" data-fields="description"></div>
+		<div class="" data-fields="resourceStatus" style="margin-top: 31px;"></div>
+	</fieldset>
+</form>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/hbase/HbaseTableLayout_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/hbase/HbaseTableLayout_tmpl.html b/security-admin/src/main/webapp/templates/hbase/HbaseTableLayout_tmpl.html
new file mode 100644
index 0000000..4176e15
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/hbase/HbaseTableLayout_tmpl.html
@@ -0,0 +1,25 @@
+<h3 class="wrap-header bold"> {{tt 'lbl.listOfPolicies'}} : {{assetModel.attributes.name}} </h3>
+<div class="wrap non-collapsible m-height ">
+	<div class="span9">
+		<div class="span9">
+			<div class="visual_search"></div>
+		</div>
+		<div class="clearfix">
+			<a href="#!/hbase/{{assetId}}/policy/create" class="btn btn-primary btn-right" type="button"> {{tt 'lbl.addNewPolicy'}} </a>
+		{{#if isSysAdmin}}
+			{{#if version}}	
+				<a href="javascript:void(0);" data-js="export" class="btn btn-black btn-right">{{tt 'lbl.exports'}}</a> 
+			{{/if}}	
+		{{/if}}	
+			<div data-id="r_filter" class="wrap-filter pull-left"></div>
+		</div>
+		
+		<div data-id="r_tableList" class="clickable">
+		</div>
+	</div>
+
+	<div class="span3" style="margin-top:39px">
+		<div id="policyDetail"></div>
+	</div>
+</div>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/hdfs/HDFSTableLayout_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/hdfs/HDFSTableLayout_tmpl.html b/security-admin/src/main/webapp/templates/hdfs/HDFSTableLayout_tmpl.html
new file mode 100644
index 0000000..6e13971
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/hdfs/HDFSTableLayout_tmpl.html
@@ -0,0 +1,25 @@
+<h3 class="wrap-header bold"> {{tt 'lbl.listOfPolicies'}} : {{assetModel.attributes.name}} </h3>
+<div class="wrap non-collapsible m-height ">
+	<div class="span9">
+		<div class="span9">
+			<div class="visual_search"></div>
+		</div>
+		<div class="clearfix">
+			<a href="#!/policy/{{assetId}}/create" class="btn btn-primary btn-right" type="button"> {{tt 'lbl.addNewPolicy'}} </a>
+		{{#if isSysAdmin}}
+			{{#if version}}
+				<a href="javascript:void(0);" data-js="export" class="btn btn-black btn-right">{{tt 'lbl.exports'}}</a>
+			{{/if}}	 
+		{{/if}}	
+			<div data-id="r_filter" class="pull-left wrap-filter"></div>
+		</div>
+		
+		<div data-id="r_hdfstable" class="hdfs-table clickable"></div>
+	</div>
+	
+	<div class="span3" style="margin-top:39px">
+		<div id="folderDetail" style="display:none;"></div>
+		<!-- <div id="folderDetail"></div> --> 
+	</div>
+</div>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/hdfs/PolicyCreate_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/hdfs/PolicyCreate_tmpl.html b/security-admin/src/main/webapp/templates/hdfs/PolicyCreate_tmpl.html
new file mode 100644
index 0000000..63bef5b
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/hdfs/PolicyCreate_tmpl.html
@@ -0,0 +1,28 @@
+{{#if editPolicy}}
+	<h4> {{tt 'h.editPolicy'}}</h4>
+{{else}}
+	<h4> {{tt 'h.createPolicy'}} </h4>
+{{/if}}
+<div class="wrap non-collapsible ">
+	<div data-id="r_form"></div>
+	<div class="form-actions form-policy" class="row-fluid">
+	{{#if editPolicy}}
+		<button type="submit" data-id="save" class="btn  btn-spinner btn-primary">
+			<span>Save</span>
+			<i class="icon-spinner icon-spin"></i>
+		</button>
+	{{else}}
+		<button type="submit" data-id="save" class="btn  btn-spinner btn-primary">
+			<span>Add</span>
+			<i class="icon-spinner icon-spin"></i>
+		</button>
+	{{/if}}	
+		<button type="button" data-id="cancel" class="btn btn-inverse">
+			Cancel
+		</button>
+	{{#if editPolicy}}
+		<button type="button" data-id="delete" class="btn btn-danger" ><!-- style="margin-left: 27%;" -->Delete</button>
+	{{/if}}	
+	</div>
+</div>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/hdfs/PolicyForm_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/hdfs/PolicyForm_tmpl.html b/security-admin/src/main/webapp/templates/hdfs/PolicyForm_tmpl.html
new file mode 100644
index 0000000..cc621cd
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/hdfs/PolicyForm_tmpl.html
@@ -0,0 +1,44 @@
+<form class="form-horizontal">
+	<fieldset>
+		<p class="formHeader">
+			Policy Details : 
+		</p>
+	<!--ul id="name1"></ul-->
+	<!--div class="control-group field-name">      
+		<label class="control-label" for="name2">Resource Path(new impl) *</label>      
+		<div class="controls">        
+			<input type="text" class="select2-input" id="name2" style="width: 250px;">  
+		</div>
+	</div-->
+	<div class="" data-fields="policyName"></div>
+	<div class="" data-fields="name"></div>
+	<!-- <div class="" data-fields="description"></div> -->
+	<div class="" data-fields="isRecursive"></div>
+	<div class="" data-fields="_vAuditListToggle"></div>
+	<div class="" data-fields="isEncrypt"></div>
+	</fieldset>
+	<fieldset>
+		<p class="formHeader">
+			User and Group Permissions :
+		</p>
+		<div class="" data-customfields="groupPerms">
+			<div class="control-group">
+				<label class="control-label">{{tt 'lbl.groupPermissions'}}</label>
+				<div class="controls">
+					<img src="images/loading.gif" style=" margin-left: 4%; margin-top: 1%;" />
+				</div>
+			</div>		
+		</div>
+		<div class="" data-customfields="userPerms">
+			<div class="control-group">
+				<label class="control-label">{{tt 'lbl.userPermissions'}}</label>
+				<div class="controls">
+					<img src="images/loading.gif" style=" margin-left: 4%; margin-top: 1%;" />
+				</div>
+			</div>
+		</div>
+		<div class="" data-fields="description"></div>
+		<div class="" data-fields="resourceStatus" style="margin-top: 31px;"></div>
+	</fieldset>
+</form>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/helpers/XAHelpers.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/helpers/XAHelpers.js b/security-admin/src/main/webapp/templates/helpers/XAHelpers.js
new file mode 100644
index 0000000..7d0cbad
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/helpers/XAHelpers.js
@@ -0,0 +1,462 @@
+define(function ( require ){
+
+	var Handlebars 		= require('handlebars');
+	var XAUtil	   		= require('utils/XAUtils');
+    var localization 	= require('utils/XALangSupport');
+    var SessionMgr   	= require('mgrs/SessionMgr');
+	require('moment');
+	/*
+	 * General guidelines while writing helpers:
+	 * 
+	 * - If returning HTML use return new Handlebars.SafeString();
+	 * - If the helper needs optional arguments use the "hash arguments"
+	 *   Eg. {{{link . "See more..." story.url class="story"}}}
+	 *   NOTE: the first argument after the helper name should be . which will be context in the helper function
+	 *   Handlebars.registerHelper('link', function(context, text, url, options) {
+	 *   	var attrs = [];
+	 * 		
+	 *   	for(var prop in options.hash) {
+	 *   		attrs.push(prop + '="' + options.hash[prop] + '"');
+	 *   	}	
+	 *   	return new Handlebars.SafeString("<a " + attrs.join(" ") + ">" + text + "</a>");
+	 *   });
+	 * 
+	 * 
+	 * NOTE: Due to some limitations in the require-handlebars-plugin, we cannot have helper that takes zero arguments,
+	 *       for such helpers we have to pass a "." as first argument. [https://github.com/SlexAxton/require-handlebars-plugin/issues/72] 
+	 */
+	
+	var HHelpers = {};
+	
+	/*
+	 * ACL related helpers
+	 */
+
+	Handlebars.registerHelper("canRead", function(resource,  options) {
+		var roles = _.has(options.hash, 'roles') ? options.hash.roles : undefined;
+		if(MSAcl.canRead(resource,roles)){
+			return options.fn(this);
+		}
+	});
+
+	Handlebars.registerHelper("canCreate", function(resource, options) {
+		var roles = _.has(options.hash, 'roles') ? options.hash.roles : undefined;
+		if(MSAcl.canCreate(resource,roles)){
+			return options.fn(this);
+		}
+	});
+
+	Handlebars.registerHelper("canUpdate", function(resource, options) {
+		var roles = _.has(options.hash, 'roles') ? options.hash.roles : undefined;
+		if(MSAcl.canUpdate(resource,roles)){
+			return options.fn(this);
+		}
+	});
+
+	Handlebars.registerHelper("canDelete", function(resource, options) {
+		var roles = _.has(options.hash, 'roles') ? options.hash.roles : undefined;
+		if(MSAcl.canDelete(resource,roles)){
+			return options.fn(this);
+		}
+	});
+
+	/**
+     * Convert new line (\n\r) to <br>
+     * from http://phpjs.org/functions/nl2br:480
+     */
+	HHelpers.nl2br = function(text) {
+        text = Handlebars.Utils.escapeExpression(text);
+        var nl2br = (text + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + '<br>' + '$2');
+        return new Handlebars.SafeString(nl2br);
+    };
+	Handlebars.registerHelper('nl2br', HHelpers.nl2br);
+	
+	/*
+	 * escapeHtmlChar
+	 */
+	Handlebars.registerHelper("escapeHtmlChar", function(str) {
+		return XAUtil.escapeHtmlChar(str);
+	});
+	
+	Handlebars.registerHelper("nl2brAndEscapeHtmlChar", function(str) {
+		return XAUtil.nl2brAndEscapeHtmlChar(str);
+	});
+	
+	/*
+	 * required to fetch label for enum value
+	 */ 
+	Handlebars.registerHelper('convertEnumValueToLabel', function(enumName,
+			enumValue) {
+		return XAUtil.enumValueToLabel(
+				XAUtil.getEnum(enumName), enumValue);
+	});
+	
+	/*
+	 * required to format date time
+	 */
+	Handlebars.registerHelper('convertFormatDateTime', function(cellValue) {
+		return XAUtil.formatDateTime(cellValue);
+	});
+	Handlebars.registerHelper('formatDate', function(val) {
+        if(!val) return "";
+		return XAUtil.formatDate(val);
+	});
+	Handlebars.registerHelper('formatDateCustom', function(val,format) {
+        if(!val) return "";
+		var dateObj = XAUtil.DBToDateObj(val); 
+		return Globalize.format(dateObj,format);
+		//return Globalize.format((_.isString(val)?new Date(val):val),format);
+	});
+	
+	Handlebars.registerHelper('toHumanDate', function(val) {
+        if(!val) return "";
+		//return XAUtil.toHumanDate(val);
+		return localization.formatDate(val, 'f');
+	});
+	
+	Handlebars.registerHelper('dateFormat', function(context, block) {
+		if (window.moment) {
+			var f = block.hash.format || "MMM Do, YYYY";
+			return moment(context).format(f);
+		}else{
+			return context;   //  moment plugin not available. return data as is.
+		};
+	});
+
+	/*
+	 * Truncate the String till n positions
+	 */
+	Handlebars.registerHelper('truncStr', function(str, n, useWordBoundary) {
+		var len = n || 1;
+		var useWordBn = useWordBoundary || false;
+		return str.trunc(len, useWordBn);
+	});
+	
+	
+	Handlebars.registerHelper('tt', function(str) {
+		return localization.tt(str);
+		return str;
+	});
+	
+	Handlebars.registerHelper('getCopyrightDate', function() {
+		return new Date().getFullYear().toString();
+	});
+	
+	Handlebars.registerHelper('paginate', function(totalCount,pageSize) {
+        if(typeof pageSize === 'undefined'){
+            pageSize = 25;
+        }
+        var html = '',
+        fromPage = 0, i = 1;
+        var index = parseInt(totalCount/pageSize);
+        if(index == 0){
+            return html;
+        }
+        for (; i <= index; i++) {
+            if(i == 1){
+                html += '<li class="active" data-page='+fromPage+'><a href="javascript:;">'+i+'</a></li>';
+            }else{
+                html += '<li data-page='+fromPage+'><a href="javascript:;">'+i+'</a></li>';
+            }
+            fromPage = pageSize * i; 
+        }
+        if((totalCount - pageSize*index) > 0){
+            html += '<li data-page='+fromPage+'><a href="javascript:;">'+i+'</a></li>';
+        }
+        return html;
+	});
+	
+	Handlebars.registerHelper('customPermString', function(permsString,kclass) {
+		if(permsString == "--")
+			return permsString;
+		permArr = permsString.split(',');
+		//return permArr.join(', ');
+		var cl = _.isObject(kclass) ? 'label label-info' : kclass;
+		var tempArr = [];
+		_.each(permArr, function(val){
+			tempArr.push('<label class="'+cl+'">'+val+'</label>');
+		});
+		return tempArr.join(' ');
+		
+	});
+
+	/*
+	 * Link helper
+	 * @linkType : type of link from XALinks.js
+	 * The options to be passed to XALinks get method :
+	 * @linkOpts : {
+	 * 		model : model,
+	 * }
+	 * @htmlOpts : {
+	 * 		class : "myClass"
+	 * }
+	 * {{{a Account null class="myClass" }}}
+	 * 
+	 */
+	
+	HHelpers.a = function(linkType, linkOpts, htmlOpts) {
+		
+		var XALinks	= require("modules/XALinks");
+		var linkObj	= XALinks.get(linkType, linkOpts);
+		var attrs	= [];
+		htmlOpts	= htmlOpts || {}; // Handle the case if a() is called from outside of Handlebars
+		for(var prop in htmlOpts.hash) {
+			attrs.push(prop + '="' + htmlOpts.hash[prop] + '"');
+		}
+		attrs.push('href="' + linkObj.href + '"');
+		attrs.push('title="' + localization.tt(linkObj.title) + '"');
+		
+		return new Handlebars.SafeString("<a " + attrs.join(" ") + ">" + localization.tt(linkObj.text) + "</a>");
+	};
+
+	Handlebars.registerHelper('a', HHelpers.a);
+	
+	Handlebars.registerHelper('getImage', function(fileType){
+		var path = "images/folderIcon.png";
+		if(fileType == XAEnums.FileType.FILE_FILE.value){
+			path = "images/file-icon.png";
+		}
+		return path;
+	});
+	
+	HHelpers.showWeekAbbr = function() { 
+		var html = '';
+		localization.getDaysOfWeek().forEach(function(v,idx){
+		   if(v){
+			   html += '<option value="'+idx+'">'+v+'</option>';
+		   }
+		});   	
+		return html;
+	};
+	Handlebars.registerHelper('showWeekAbbr', HHelpers.showWeekAbbr);
+	
+	HHelpers.showDays = function() { 
+		var html = '';
+		for(var i=0,j=1;i<28;i++){
+		   html += '<option value="'+i+'">'+(j++)+'</option>';
+		}   	
+		return html;
+	};
+	Handlebars.registerHelper('showDays', HHelpers.showDays);
+	
+	Handlebars.registerHelper('if_eq', function(context, options) {
+	        if (context == options.hash.compare)
+	            return options.fn(this);
+	        return options.inverse(this);
+	    });
+	
+	Handlebars.registerHelper('if_gt', function(context, options) {
+	        if (context > options.hash.compare)
+	            return options.fn(this);
+	        return options.inverse(this);
+	    });
+	
+    Handlebars.registerHelper('avatarHack', function(model) {
+            return 'styles/images/avatar' + parseInt(((Math.random()*10)%4) + 1,10) + '.png';
+        });    
+	Handlebars.registerHelper('isSystemAdmin', function(context, options) {
+            if(SessionMgr.isSystemAdmin())
+            	return options.fn(this);
+			return options.inverse(this);
+	});
+	Handlebars.registerHelper('isSchoolAdmin', function(context, options) {
+            if(SessionMgr.isSchoolAdmin() || SessionMgr.isSystemAdmin())
+            	return options.fn(this);
+			return options.inverse(this);
+	});
+	Handlebars.registerHelper('isTeacher', function(context, options) {
+            if(SessionMgr.isTeacher())
+            	return options.fn(this);
+			return options.inverse(this);
+	});
+	Handlebars.registerHelper('getAvatar', function(options,size) {
+		var path;
+			if(_.has(options,'profileImageGId')){
+				if(_.isUndefined(size)) 
+					path = "service/content/multimedia/image/"+options.profileImageGId;
+				else
+					path = "service/content/multimedia/image/"+options.profileImageGId+"/small";
+			}else{
+				path = "styles/images/s-avatar.png";
+			}
+		return path;
+			//return path;
+            //return XAUtil.getImgPath(id,size);
+	});
+
+	Handlebars.registerHelper('ifCond', function (v1, operator, v2, options) {
+
+		switch (operator) {
+			case '==':
+				return (v1 == v2) ? options.fn(this) : options.inverse(this);
+			break;
+			case '===':
+				return (v1 === v2) ? options.fn(this) : options.inverse(this);
+			break;
+			case '<':
+				return (v1 < v2) ? options.fn(this) : options.inverse(this);
+			break;
+			case '<=':
+				return (v1 <= v2) ? options.fn(this) : options.inverse(this);
+			break;
+			case '>':
+				return (v1 > v2) ? options.fn(this) : options.inverse(this);
+			break;
+			case '>=':
+				return (v1 >= v2) ? options.fn(this) : options.inverse(this);
+			break;
+			default:
+				return options.inverse(this);     
+			break;
+		}
+		//return options.inverse(this);
+	});
+	
+	//For Example
+	/*{{#compare numberone "eq" numbretwo}}
+	  do something
+	{{else}}
+	  do something else
+	{{/compare}}
+*/	
+	Handlebars.registerHelper( "compare", function( v1, op, v2, options ) {
+
+		  var c = {
+		    "eq": function( v1, v2 ) {
+		      return v1 == v2;
+		    },
+		    "neq": function( v1, v2 ) {
+		      return v1 != v2;
+		    }
+		   
+		  };
+
+		  if( Object.prototype.hasOwnProperty.call( c, op ) ) {
+		    return c[ op ].call( this, v1, v2 ) ? options.fn( this ) : options.inverse( this );
+		  }
+		  return options.inverse( this );
+	} );
+	//For Example
+	//{{#eachProperty object}}
+    //{{property}}: {{value}}<br/>
+    //{{/eachProperty }}
+	Handlebars.registerHelper('eachProperty', function(context, options) {
+	    var ret = "";
+	    for(var prop in context)
+	    {
+	        ret = ret + options.fn({property:prop,value:context[prop]});
+	    }
+	    return new Handlebars.SafeString(ret);
+	});
+	Handlebars.registerHelper('highlightNewForAttr', function(newValue, oldValue, hightlightValue) {
+		var html='';
+		if(hightlightValue == 'new'){
+			if(_.isNull(oldValue) || oldValue == '--' || oldValue == "" || _.isUndefined(oldValue)){
+				html = '<span class="add-text">'+newValue+'</span>';
+			}else
+				html = '<span class="">'+newValue+'</span>';
+		}else{
+			if(_.isNull(newValue) || newValue == '--' || newValue == ""){
+				html = '<span class="delete-text">'+oldValue+'</span>';
+			}else
+				html = '<span class="">'+oldValue+'</span>';
+		}
+	    return html;
+	});
+	Handlebars.registerHelper('highlightNewForObj', function(prop, newValue, oldValue, hightlightValue) {
+		var html='';
+		if(hightlightValue == 'new'){
+			if(_.isNull(oldValue[prop]) || oldValue[prop] == ""){
+				html = '<span class="add-text">'+newValue+'</span>';
+			}else
+				html = '<span class="">'+newValue+'</span>';
+		}else{
+			if(_.isNull(oldValue[prop]) || oldValue[prop] == ""){
+				html = '<span class="delete-text">'+newValue+'</span>';
+			}else
+				html = '<span class="">'+newValue+'</span>';
+		}
+	    return html;
+	});
+	Handlebars.registerHelper('highlightUsersForArr', function(val, arr, hightlightValue) {
+		var html = val;
+		if(hightlightValue == 'new'){
+			if($.inArray(val, arr) < 0)
+				html = '<span class="add-text">'+val+'</span>';
+		}else{
+			if($.inArray(val, arr) < 0)
+				return html = '<span class="delete-text">'+val+'</span>';
+		}
+	    return html;
+	});
+	Handlebars.registerHelper('highlightPermissionsForUser', function(perm, newValue, pemList, hightlightValue) {
+		var html=perm.permType;
+		if(hightlightValue == 'old'){
+			if(_.isNull(perm.permType) || perm.permType != ""){
+				if(!_.isUndefined(pemList[perm.userName]) || _.isEmpty(pemList)){
+					var isRemoved = true;
+					_.each(pemList[perm.userName] ,function(m){
+						if(m.permType == perm.permType)
+							isRemoved = false;
+					});
+					if(isRemoved)
+						return html = '<span class="delete-text">'+perm.permType+'</span>';
+				}else{
+					return html = '<span class="delete-text">'+perm.permType+'</span>';
+				}
+			}
+		}else{
+			if(_.isNull(perm.permType) || perm.permType != ""){
+				if(!_.isUndefined(pemList[perm.userName])){
+					var isNewAdd = true;
+					_.each(pemList[perm.userName] ,function(m){
+						if(m.permType == perm.permType)
+							isNewAdd = false;
+					});
+					if(isNewAdd)
+						return html = '<span class="add-text">'+perm.permType+'</span>';
+				}else{
+					return html = '<span class="delete-text">'+perm.permType+'</span>';
+				}
+			}
+		}
+	    return html;
+	});
+	Handlebars.registerHelper('highlightPermissionsForGroup', function(perm, newValue, pemList, hightlightValue) {
+		var html = perm.permType;;
+		if(hightlightValue == 'old'){
+			if(_.isNull(perm.permType) || perm.permType != ""){
+				if(!_.isUndefined(pemList[perm.groupName]) || _.isEmpty(pemList)){
+					var isRemoved = true;
+					_.each(pemList[perm.groupName] ,function(m){
+						if(m.permType == perm.permType)
+							isRemoved = false;
+					});
+					if(isRemoved)
+						return html = '<span class="delete-text">'+perm.permType+'</span>';
+				}else{
+					return html = '<span class="delete-text">'+perm.permType+'</span>';
+				}
+			}
+		}else{
+			if(_.isNull(perm.permType) || perm.permType != ""){
+				if(!_.isUndefined(pemList[perm.groupName])){
+					var isNewAdd = true;
+					_.each(pemList[perm.groupName] ,function(m){
+						if(m.permType == perm.permType)
+							isNewAdd = false;
+					});
+					if(isNewAdd)
+						return html = '<span class="add-text">'+perm.permType+'</span>';
+				}
+				else{
+					return html = '<span class="add-text">'+perm.permType+'</span>';
+				}
+			}
+		}
+	    return new Handlebars.SafeString(html);
+	});
+	
+
+	return HHelpers;
+});

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/hive/HivePolicyCreate_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/hive/HivePolicyCreate_tmpl.html b/security-admin/src/main/webapp/templates/hive/HivePolicyCreate_tmpl.html
new file mode 100644
index 0000000..69fc201
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/hive/HivePolicyCreate_tmpl.html
@@ -0,0 +1,30 @@
+{{#if editPolicy}}
+	<h4> {{tt 'h.editPolicy'}}</h4>
+{{else}}
+	<h4> {{tt 'h.createPolicy'}} </h4>
+{{/if}}	
+<div class="wrap non-collapsible ">
+
+	<div data-id="r_form"></div>
+	<div class="form-actions form-policy" class="row-fluid">
+		{{#if editPolicy}}
+			<button type="submit" data-id="save" class="btn btn-primary btn-spinner">
+				<span>Save</span>
+				<i class="icon-spinner icon-spin"></i>
+			</button>
+		{{else}}
+			<button type="submit" data-id="save" class="btn btn-primary btn-spinner">
+				<span>Add</span> 
+				<i class="icon-spinner icon-spin"></i> 
+			</button>
+			
+		{{/if}}	
+			<button type="button" data-id="cancel" class="btn btn-inverse">
+				Cancel
+			</button>
+		{{#if editPolicy}}
+			<button type="button" data-id="delete" class="btn btn-danger" ><!-- style="margin-left: 27%;" -->Delete</button>
+		{{/if}}	
+	</div>
+</div>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/hive/HivePolicyForm_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/hive/HivePolicyForm_tmpl.html b/security-admin/src/main/webapp/templates/hive/HivePolicyForm_tmpl.html
new file mode 100644
index 0000000..2ce7b1f
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/hive/HivePolicyForm_tmpl.html
@@ -0,0 +1,50 @@
+<form class="form-horizontal">
+	<fieldset>
+		<p class="formHeader">
+			<span>Policy Details :</span> 
+		</p>
+		<div class="" data-fields="policyName"></div>
+		<div class="" data-fields="databases"></div>
+		<div>
+			<div class="control-group inline-block">
+				<div data-editors="resourceType" class="control-label"></div>
+				<div class="controls" data-editors="tables"></div>
+				<div class="controls" data-editors="udfs" style="display:none;"></div>
+			</div>
+			<div data-editors="isTableInclude" class="is-table-include"></div>	
+		</div>
+		
+		<!-- <div class="" data-fields="views" style="display:none"></div> -->
+		<!-- <div class="" data-editors="udfs" style="display:none;margin-left: 180px;margin-top: -29px;margin-bottom: 15px;"></div> -->
+		<div>
+			<div class="select-columns inline-block" data-fields="columns"></div>
+			<div class="is-column-include" data-editors="isColumnInclude"></div>
+		</div>	
+		<div class="" data-fields="_vAuditListToggle"></div>
+		<div class="" data-fields="isEncrypt"></div>
+	</fieldset>
+	<fieldset>
+		<p class="formHeader">
+			User and Group Permissions :
+		</p>
+		<div class="" data-customfields="groupPerms">
+			<div class="control-group">
+				<label class="control-label">{{tt 'lbl.groupPermissions'}}</label>
+				<div class="controls">
+					<img src="images/loading.gif" style=" margin-left: 4%; margin-top: 1%;" />
+				</div>
+			</div>		
+		</div>
+		<div class="" data-customfields="userPerms">
+			<div class="control-group">
+				<label class="control-label">{{tt 'lbl.userPermissions'}}</label>
+				<div class="controls">
+					<img src="images/loading.gif" style=" margin-left: 4%; margin-top: 1%;" />
+				</div>
+			</div>
+		</div>
+		<div class="" data-fields="description"></div>
+		<div class="" data-fields="resourceStatus" style="margin-top: 31px;"></div>
+	</fieldset>
+</form>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/hive/HiveTableLayout_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/hive/HiveTableLayout_tmpl.html b/security-admin/src/main/webapp/templates/hive/HiveTableLayout_tmpl.html
new file mode 100644
index 0000000..c53dbb2
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/hive/HiveTableLayout_tmpl.html
@@ -0,0 +1,25 @@
+<h3 class="wrap-header bold"> {{tt 'lbl.listOfPolicies'}} : {{assetModel.attributes.name}} </h3>
+<div class="wrap non-collapsible m-height ">
+	<div class="span9">
+		<div class="span9">
+			<div class="visual_search"></div>
+		</div>
+		<div class="clearfix">
+			<a href="#!/hive/{{assetId}}/policy/create" class="btn btn-primary btn-right" type="button"> {{tt 'lbl.addNewPolicy'}} </a>
+		{{#if isSysAdmin}}	
+			{{#if version}}
+				<a href="javascript:void(0);" data-js="export" class="btn btn-black btn-right">{{tt 'lbl.exports'}}</a>
+			{{/if}} 
+		{{/if}}	
+			<div data-id="r_filter" class="wrap-filter pull-left"></div>
+		</div>
+		
+		<div data-id="r_tableList" class="clickable">
+		</div>
+	</div>
+
+	<div class="span3" style="margin-top:39px">
+		<div id="policyDetail"></div>
+	</div>
+</div>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/knox/KnoxInfo_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/knox/KnoxInfo_tmpl.html b/security-admin/src/main/webapp/templates/knox/KnoxInfo_tmpl.html
new file mode 100644
index 0000000..8ba8a28
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/knox/KnoxInfo_tmpl.html
@@ -0,0 +1,90 @@
+<div class="well well-small ">
+	<!-- <label style="color: white;padding: 5px;font-weight: 700;background: -webkit-linear-gradient(#4C89D6, #b8892d);background: -o-linear-gradient(#f7ec13, #b8892d);background: linear-gradient(#94BBEB, #2D75B8);">Policy Information</label> -->
+	<div class="fancy title" style="margin-bottom: 16px;">
+	   <span>Policy Information</span>
+	</div>
+	<div class="datagrid-stretch-wrapper newScroll" style="overflow-y: auto; height:400px"><!-- height:400px;"> -->
+		<label class="labelInverse">{{tt 'lbl.resourceInformation'}} :</label>
+		<table class="table table-bordered">
+			<tbody>
+				{{#if topologies}}
+				<tr>
+					<td>{{tt 'lbl.topologyName'}}(s)</td>
+					<td>{{{customPermString topologies 'label label-info'}}}</td>
+				</tr>
+				{{/if}}
+				{{#if services}}
+				<tr>
+					<td>{{tt 'lbl.serivceName'}}(s)</td>
+					<td> {{{customPermString services 'label label-success'}}} </td>
+				</tr>
+				{{/if}}
+			</tbody>
+		</table>
+		
+		<!-- <label class="labelInverse" >{{tt 'lbl.policyInfo'}} :</label> -->
+		<table class="table table-bordered">
+			<tbody>
+				<tr>
+					<td>{{tt 'lbl.createdBy'}}</td>
+					<td> {{owner}} </td>
+				</tr>
+				<tr>
+					<td>{{tt 'lbl.createdOn'}}</td>
+					<td>{{dateFormat createDate format="MM/DD/YYYY HH:mm:ss A"}}</td>
+				</tr>
+				<tr>
+					<td>{{tt 'lbl.updatedBy'}}</td>
+					<td> {{updatedBy}} </td>
+				</tr>
+				<tr>
+					<td>{{tt 'lbl.updatedOn'}}</td>
+					<td>{{dateFormat updateDate format="MM/DD/YYYY HH:mm:ss A"}} </td>
+				</tr>
+			</tbody>
+		</table>
+	{{#if  groupPermListArr}}	
+		<label class="labelInverse"> {{tt 'lbl.permissionGranted'}} :</label>
+		<table class="table table-bordered">
+			<thead>
+				<tr>
+					<th >{{tt 'lbl.groupName'}}</th>
+					<th >{{tt 'lbl.ipAddress'}}</th>
+					<th >{{tt 'lbl.permissions'}}</th>
+				</tr>
+			</thead>
+			<tbody>
+				{{#each groupPermListArr}}
+				<tr>
+					<td>{{./this.name}}</td>
+					<td >{{{customPermString ./this.ipAddress}}}</td>
+					<td >{{{customPermString ./this.permType}}}</td>
+				</tr>
+				{{/each}}
+			</tbody>
+		</table>
+	{{/if}}	
+	{{#if  userPermListArr}}
+	<label class="labelInverse">{{tt 'lbl.userPermissions'}} :</label>
+		<table class="table table-bordered">
+			<thead>
+				<tr>
+					<th >{{tt 'lbl.userName'}}</th>
+					<th >{{tt 'lbl.ipAddress'}}</th>
+					<th >{{tt 'lbl.permissions'}}</th>
+				</tr>
+			</thead>
+			<tbody>
+				{{#each userPermListArr}}
+				<tr>
+					<td>{{./this.name}}</td>
+					<td >{{{customPermString ./this.ipAddress}}}</td>
+					<td style="word-break: break-word;">{{{customPermString ./this.permType}}}</td>
+				</tr>
+				{{/each}}
+			</tbody>
+		</table>
+	{{/if}}	
+		<!-- <a href="javascript:void(0);" class="btn btn-primary" disabled="disabled" onclick="alert('Coming Soon..')"> Manage Folder </a> -->
+	</div>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/knox/KnoxPolicyCreate_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/knox/KnoxPolicyCreate_tmpl.html b/security-admin/src/main/webapp/templates/knox/KnoxPolicyCreate_tmpl.html
new file mode 100644
index 0000000..69fc201
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/knox/KnoxPolicyCreate_tmpl.html
@@ -0,0 +1,30 @@
+{{#if editPolicy}}
+	<h4> {{tt 'h.editPolicy'}}</h4>
+{{else}}
+	<h4> {{tt 'h.createPolicy'}} </h4>
+{{/if}}	
+<div class="wrap non-collapsible ">
+
+	<div data-id="r_form"></div>
+	<div class="form-actions form-policy" class="row-fluid">
+		{{#if editPolicy}}
+			<button type="submit" data-id="save" class="btn btn-primary btn-spinner">
+				<span>Save</span>
+				<i class="icon-spinner icon-spin"></i>
+			</button>
+		{{else}}
+			<button type="submit" data-id="save" class="btn btn-primary btn-spinner">
+				<span>Add</span> 
+				<i class="icon-spinner icon-spin"></i> 
+			</button>
+			
+		{{/if}}	
+			<button type="button" data-id="cancel" class="btn btn-inverse">
+				Cancel
+			</button>
+		{{#if editPolicy}}
+			<button type="button" data-id="delete" class="btn btn-danger" ><!-- style="margin-left: 27%;" -->Delete</button>
+		{{/if}}	
+	</div>
+</div>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/knox/KnoxPolicyForm_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/knox/KnoxPolicyForm_tmpl.html b/security-admin/src/main/webapp/templates/knox/KnoxPolicyForm_tmpl.html
new file mode 100644
index 0000000..f90e973
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/knox/KnoxPolicyForm_tmpl.html
@@ -0,0 +1,38 @@
+<form class="form-horizontal">
+	<fieldset>
+		<p class="formHeader">
+			<span>Policy Details :</span> 
+		</p>
+		<div class="" data-fields="policyName"></div>
+		<div class="" data-fields="topologies"></div>
+		<div class="" data-fields="services"></div>
+		
+		<!-- <div class="" data-fields="views" style="display:none"></div> -->
+		<!-- <div class="" data-editors="udfs" style="display:none;margin-left: 180px;margin-top: -29px;margin-bottom: 15px;"></div> -->
+		<div class="" data-fields="_vAuditListToggle"></div>
+	</fieldset>
+ 	<fieldset>
+		<p class="formHeader">
+			User and Group Permissions :
+		</p>
+		<div class="" data-customfields="groupPerms">
+			<div class="control-group">
+				<label class="control-label">{{tt 'lbl.groupPermissions'}}</label>
+				<div class="controls">
+					<img src="images/loading.gif" style=" margin-left: 4%; margin-top: 1%;" />
+				</div>
+			</div>		
+		</div>
+		<div class="" data-customfields="userPerms">
+			<div class="control-group">
+				<label class="control-label">{{tt 'lbl.userPermissions'}}</label>
+				<div class="controls">
+					<img src="images/loading.gif" style=" margin-left: 4%; margin-top: 1%;" />
+				</div>
+			</div>
+		</div>
+		<div class="" data-fields="description"></div>
+		<div class="" data-fields="resourceStatus" style="margin-top: 31px;"></div>
+	</fieldset> 
+</form>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/knox/KnoxTableLayout_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/knox/KnoxTableLayout_tmpl.html b/security-admin/src/main/webapp/templates/knox/KnoxTableLayout_tmpl.html
new file mode 100644
index 0000000..f2b1cbf
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/knox/KnoxTableLayout_tmpl.html
@@ -0,0 +1,25 @@
+<h3 class="wrap-header bold"> {{tt 'lbl.listOfPolicies'}} : {{assetModel.attributes.name}} </h3>
+<div class="wrap non-collapsible m-height ">
+	<div class="span9">
+		<div class="span9">
+			<div class="visual_search"></div>
+		</div>
+		<div class="clearfix">
+			<a href="#!/knox/{{assetId}}/policy/create" class="btn btn-primary btn-right" type="button"> {{tt 'lbl.addNewPolicy'}} </a>
+		{{#if isSysAdmin}}	
+			{{#if version}}
+				<a href="javascript:void(0);" data-js="export" class="btn btn-black btn-right">{{tt 'lbl.exports'}}</a>
+			{{/if}} 
+		{{/if}}	
+			<div data-id="r_filter" class="wrap-filter pull-left"></div>
+		</div>
+		
+		<div data-id="r_tableList" class="clickable">
+		</div>
+	</div>
+
+	<div class="span3" style="margin-top:39px">
+		<div id="policyDetail"></div>
+	</div>
+</div>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/license/LicenseCreate_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/license/LicenseCreate_tmpl.html b/security-admin/src/main/webapp/templates/license/LicenseCreate_tmpl.html
new file mode 100644
index 0000000..dbe3a37
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/license/LicenseCreate_tmpl.html
@@ -0,0 +1,31 @@
+<h4 class="wrap-header bold">License Detail</h4>
+<div class="wrap non-collapsible ">
+	<!-- <div data-id="r_form"></div> -->
+		<form class="form-horizontal">
+			<div class="" data-fields="licenseKey">
+				<div class="control-group field-licenseKey">
+					<label class="control-label" for="licenseKey">Enter License
+						Key *</label>
+					<div class="controls">
+						<span data-editor="">
+							<textarea data-id="licenseKey" name="licenseKey" type="text" style=" width: 607px; height: 128px; "></textarea>
+							</span>
+						<div class="help-inline" data-error=""></div>
+						<div class="help-block"></div>
+				</div>
+			</div>
+		</form>
+					</div>
+	<div style="margin-left: 179px;">
+		<button type="button" data-id="save" class="btn btn-primary">
+			Save</button>
+		<button type="button" data-id="cancel" class="btn btn-inverse">
+			Cancel</button>
+	</div>
+	<br /> <br />
+	<p>
+		{{tt 'msg.invalidLicenseMsg'}}  
+		<a href="mailto:sales@xasecure.com">sales@xasecure.com</a>
+	</p>
+</div>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/license/LicenseInfo_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/license/LicenseInfo_tmpl.html b/security-admin/src/main/webapp/templates/license/LicenseInfo_tmpl.html
new file mode 100644
index 0000000..0d19cbe
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/license/LicenseInfo_tmpl.html
@@ -0,0 +1,43 @@
+<h3 class="wrap-header bold">License Information:</h3>
+<div class="well well-small ">
+	<!-- <label style="color: white;padding: 5px;font-weight: 700;background: -webkit-linear-gradient(#4C89D6, #b8892d);background: -o-linear-gradient(#f7ec13, #b8892d);background: linear-gradient(#94BBEB, #2D75B8);">Policy Information</label> -->
+	<div class="datagrid-stretch-wrapper " style="margin-left: 44px;margin-top: 35px;">
+		<table class="table table-bordered table-license">
+			<tbody>
+				<tr >
+					<td>License Text</td>
+					<td>
+					 
+						<a href="javascript:void(0);" data-id="editLicenseKey" title="Update" class="pull-right link-tag"><i class="icon-pencil"></i></a>
+						<p data-id="licenseKeyText">{{licenseKey}}</p>
+						<div data-id="licenseUpdate" style="display:none;">
+							<textarea data-id="licenseKeyTextarea"  type="text" style="height: 75px;width: 670px;" >
+						{{licenseKey}}	
+							</textarea>
+							<button type="submit" data-id="update" class="btn " style="margin-left: -686px;margin-top: 128px;">Update</button>
+							<button type="submit" data-id="cancel" class="btn btn-inverse" style="margin-top: 128px;">Cancel</button>
+						</div>
+					</td>
+				</tr>
+				<tr>
+					<td >License Holder Email</td>
+					<td data-id="email"> </td>
+				</tr>
+				<tr>
+					<td>License Type: </td>
+					<td data-id="type">  </td>
+				</tr>
+				<tr>
+					<td>License Start Date: </td>
+					<td data-id="startDate"> </td>
+				</tr>
+				<tr>
+					<td>License End Date: </td>
+					<td data-id="endDate"></td>
+				</tr>
+				
+			</tbody>
+		</table>
+	</div>
+</div>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/reports/AssetOperationDiff_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/reports/AssetOperationDiff_tmpl.html b/security-admin/src/main/webapp/templates/reports/AssetOperationDiff_tmpl.html
new file mode 100644
index 0000000..9acf363
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/reports/AssetOperationDiff_tmpl.html
@@ -0,0 +1,117 @@
+<div class="diff-content">
+	<label class="no-margin label-size13-weightbold">Name : {{objectName}}</label>
+	<label class="no-margin label-size13-weightbold"> Date  &nbsp;&nbsp;:  {{objectCreatedDate}}</label>
+{{#compare action 'eq' 'create'}}
+	<label class="no-margin label-size13-weightbold" > Created By  &nbsp;&nbsp;:  {{userName}}</label>
+	<h5>Repository Details :</h5>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Fields</h3>
+			<ol class="attr">
+			{{#each collection}}
+				<li class="change-row">{{./this.attributes.attributeName}}</li>
+			{{/each}}	
+			</ol>
+		</div>
+		<div class="diff-right">
+			<h3>New Value</h3>
+			<ol class="unstyled data">
+			{{#each collection}}
+				{{#if ./this.attributes.newValue}}
+					{{#compare ./this.attributes.newValue "eq" ''}}
+  						<li>--</li>		
+					{{else}}
+  						<li class="change-row">{{./this.attributes.newValue}}</li>
+					{{/compare}}
+				{{else}}
+					<li>--</li>
+				{{/if}}		
+			{{/each}}	
+			</ol>
+		</div>
+	</div>
+
+	
+	<h5>Connection Configurations :</h5>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Fields</h3>
+			<ol class="attr">
+				{{#eachProperty newConnConfig}}
+					<li class="change-row">{{property}}</li>
+				{{/eachProperty }}
+			</ol>
+		</div>
+		<div class="diff-right">
+			<h3>New Value</h3>
+			<ol class="unstyled data">
+				{{#eachProperty newConnConfig}}
+					{{#if value}}
+    					<li class="change-row">{{value}}</li>
+    				{{else}}
+    					<li >--</li>
+    				{{/if}}	
+				{{/eachProperty }}
+			</ol>
+		</div>
+	</div>
+
+{{else}}
+	<label class="no-margin label-size13-weightbold" > Deleted By  &nbsp;&nbsp;:  {{userName}}</label>
+	<h4>Repository Details</h4>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Fields</h3>
+			<ol class="attr">
+			{{#each collection}}
+				<li class="change-row">{{./this.attributes.attributeName}}</li>
+			{{/each}}	
+			</ol>
+		</div>
+		 <div class="diff-left">
+			<h3>Old Value</h3>
+			<ol class="unstyled data">
+			{{#each collection}}
+				{{#if ./this.attributes.previousValue}}
+					{{#compare ./this.attributes.previousValue "eq" ''}}
+		 					<li>--</li>		
+					{{else}}
+		 					<li class="change-row">{{./this.attributes.previousValue}}</li>
+					{{/compare}}
+				{{else}}
+						<li>--</li>
+				{{/if}}		
+			{{/each}}	
+				
+			</ol>
+		</div> 
+	
+	</div>
+
+	
+	<h4>Connection Configurations :</h4>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Fields</h3>
+			<ol class="attr">
+				{{#eachProperty previousConnConfig}}
+					<li class="change-row">{{property}}</li>
+				{{/eachProperty }}
+			</ol>
+		</div>
+		<div class="diff-left">
+			<h3>Old Value</h3>
+			<ol class="unstyled data">
+				{{#eachProperty previousConnConfig}}
+					{{#if value}}
+    					<li class="change-row">{{value}}</li>
+    				{{else}}
+    					<li >--</li>
+    				{{/if}}	
+				{{/eachProperty }}
+			</ol>
+		</div>
+	</div>
+
+{{/compare}}
+</div>	
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/reports/AssetUpdateOperationDiff_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/reports/AssetUpdateOperationDiff_tmpl.html b/security-admin/src/main/webapp/templates/reports/AssetUpdateOperationDiff_tmpl.html
new file mode 100644
index 0000000..074015e
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/reports/AssetUpdateOperationDiff_tmpl.html
@@ -0,0 +1,96 @@
+<div class="diff-content">
+	<div class="row-fluid">
+		<div class="span6">
+			<label class="no-margin label-size13-weightbold">Name : {{objectName}}</label>
+			<label class="no-margin label-size13-weightbold"> Date  &nbsp;&nbsp;:  {{objectCreatedDate}}</label>
+			<label class="no-margin label-size13-weightbold" > Updated By  &nbsp;&nbsp;:  {{userName}}</label>
+		</div>
+		<div class="span6 text-right">
+			<div class="add-text legend"></div> Added
+			<div class="delete-text legend"></div> Deleted
+		</div>	
+	</div>
+{{#if collection.length}}	
+	<h5>Repository Details :</h5>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Fields</h3>
+			<ol class="attr">
+			{{#each collection}}
+				<li class="change-row">{{./this.attributes.attributeName}}</li>
+			{{/each}}	
+			</ol>
+		</div>
+		 <div class="diff-left">
+			<h3>Old Value</h3>
+			<ol class="unstyled data">
+			{{#each collection}}
+				{{#if ./this.attributes.previousValue}}
+					{{#compare ./this.attributes.previousValue "eq" ''}}
+		 					<li>--</li>		
+					{{else}}
+		 					<li class="change-row">{{{highlightNewForAttr ./this.attributes.newValue ./this.attributes.previousValue 'old'}}}</li>
+					{{/compare}}
+				{{else}}
+						<li>--</li>
+				{{/if}}		
+			{{/each}}	
+				
+			</ol>
+		</div>
+		<div class="diff-right">
+			<h3>New Value</h3>
+			<ol class="unstyled data">
+			{{#each collection}}
+				{{#if ./this.attributes.newValue}}
+					{{#compare ./this.attributes.newValue "eq" ''}}
+  						<li>--</li>		
+					{{else}}
+  						<li class="change-row">{{{highlightNewForAttr  ./this.attributes.newValue ./this.attributes.previousValue 'new'}}}</li>
+					{{/compare}}
+				{{else}}
+					<li>--</li>
+				{{/if}}		
+			{{/each}}	
+			</ol>
+		</div>
+	</div>
+{{/if}}
+{{#if newConnConfig}}	
+	<h5>Connection Configurations :</h5>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Fields</h3>
+			<ol class="attr">
+				{{#eachProperty newConnConfig}}
+					<li class="change-row">{{property}}</li>
+				{{/eachProperty }}
+			</ol>
+		</div>
+	 	<div class="diff-left">
+			<h3>Old Value</h3>
+			<ol class="unstyled data">
+				{{#eachProperty previousConnConfig}}
+					{{#if value}}
+    					<li class="change-row">{{{highlightNewForObj property value ../../newConnConfig 'old'}}}</li>
+    				{{else}}
+    					<li >--</li>
+    				{{/if}}	
+				{{/eachProperty }}
+			</ol>
+		</div> 
+		<div class="diff-right">
+			<h3>New Value</h3>
+			<ol class="unstyled data">
+				{{#eachProperty newConnConfig}}
+					{{#if value}}
+    					<li class="change-row">{{{highlightNewForObj property value ../../previousConnConfig 'new'}}}</li>
+    				{{else}}
+    					<li >--</li>
+    				{{/if}}	
+				{{/eachProperty }}
+			</ol>
+		</div>
+	</div>
+{{/if}}	
+</div>	

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/reports/AuditLayout_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/reports/AuditLayout_tmpl.html b/security-admin/src/main/webapp/templates/reports/AuditLayout_tmpl.html
new file mode 100644
index 0000000..f402fd6
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/reports/AuditLayout_tmpl.html
@@ -0,0 +1,35 @@
+<!-- <h3 class="wrap-header bold"><i class="icon-shield"></i> {{tt 'lbl.auditReport'}} </h3> -->
+<ul class="nav nav-tabs tabs clearfix">
+	<li data-js="agent" >
+     <a data-toggle="tab" href="#agent">{{tt 'h.agents'}}</a> 
+   </li>
+   <li data-js="users">
+     <a data-toggle="tab" href="#loginSession">{{tt 'h.loginSession'}} </a> 
+   </li> 
+   <li data-js="repository" > 
+     <a data-toggle="tab" href="#admin">{{tt 'h.admin'}} </a> 
+   </li> 
+   <li data-js="policy" class="active">
+     <a data-toggle="tab" href="#bigData">{{tt 'h.access'}} </a> 
+   </li> 
+</ul>
+<div class="wrap non-collapsible " style="margin-top:-6px;">
+	<div class="wrap well">
+		<div class="row-fluid">
+			<div class="span9">
+				<div class="visual_search"></div>
+			</div>
+		</div>
+	</div>
+	<div class="row-fluid">
+		<div class="clearfix" data-id="refreshTable">
+			<button class="btn-right link-tag" data-id="refresh" style="margin-top: -3px;" title="Refresh">
+				<i class="icon-refresh"></i>
+			</button>
+			<span class="pull-right" data-id="lastUpdateTime"> Last Updated Time : <label data-id="lastUpdateTimeLabel" class="label label-info">{{currentDate}}</label> </span>
+		</div>
+		<!-- <div  data-id="r_auditTable" class="hdfs-table"></div> -->
+		<div  data-id="r_tableLists" class=""></div>
+	</div>
+</div>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/reports/GroupOperationDiff_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/reports/GroupOperationDiff_tmpl.html b/security-admin/src/main/webapp/templates/reports/GroupOperationDiff_tmpl.html
new file mode 100644
index 0000000..b96d03d
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/reports/GroupOperationDiff_tmpl.html
@@ -0,0 +1,38 @@
+<div class="diff-content">
+	<label class="no-margin label-size13-weightbold">Name : {{objectName}}</label>
+			<label class="no-margin label-size13-weightbold"> Date  &nbsp;&nbsp;:  {{objectCreatedDate}}</label>
+			<label class="no-margin label-size13-weightbold" > Created By  &nbsp;&nbsp;:  {{userName}}</label>
+{{#compare action 'eq' 'create'}}
+	{{#if collection.length}}
+		<h5>Group Detail :</h5>
+		<div class="diff">
+			<div class="diff-left">
+				<h3>Fields</h3>
+				<ol class="attr">
+				{{#each collection}}
+					<li class="change-row">{{./this.attributes.attributeName}}</li>
+				{{/each}}	
+				</ol>
+			</div>
+			<div class="diff-right">
+				<h3>New Value</h3>
+				<ol class="unstyled data">
+				{{#each collection}}
+					{{#if ./this.attributes.newValue}}
+						{{#compare ./this.attributes.newValue "eq" ''}}
+	  						<li>--</li>		
+						{{else}}
+	  						<li class="change-row">{{./this.attributes.newValue}}</li>
+						{{/compare}}
+					{{else}}
+						<li>--</li>
+					{{/if}}		
+				{{/each}}	
+				</ol>
+			</div>
+		</div>
+	{{/if}}	
+{{else}}
+	<h4>{{tt 'msg.groupDoesNotExistAnymore'}}</h4>
+{{/compare}}
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/reports/GroupUpdateOperationDiff_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/reports/GroupUpdateOperationDiff_tmpl.html b/security-admin/src/main/webapp/templates/reports/GroupUpdateOperationDiff_tmpl.html
new file mode 100644
index 0000000..787c110
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/reports/GroupUpdateOperationDiff_tmpl.html
@@ -0,0 +1,58 @@
+<div class="diff-content">
+	
+	<div class="row-fluid">
+		<div class="span6">
+			<label class="no-margin label-size13-weightbold">Name : {{objectName}}</label>
+			<label class="no-margin label-size13-weightbold"> Date  &nbsp;&nbsp;:  {{objectCreatedDate}}</label>
+			<label class="no-margin label-size13-weightbold" > Updated By  &nbsp;&nbsp;:  {{userName}}</label>
+		</div>
+		<div class="span6 text-right">
+			<div class="add-text legend"></div> Added
+			<div class="delete-text legend"></div> Deleted
+		</div>
+	</div>
+
+	<h5>Group Detail :</h5>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Fields</h3>
+			<ol class="attr">
+			{{#each collection}}
+				<li class="change-row">{{./this.attributes.attributeName}}</li>
+			{{/each}}	
+			</ol>
+		</div>
+ 		<div class="diff-left">
+			<h3>Old Value</h3>
+			<ol class="unstyled data">
+			{{#each collection}}
+				{{#if ./this.attributes.previousValue}}
+					{{#compare ./this.attributes.previousValue "eq" ''}}
+		 					<li>--</li>		
+					{{else}}
+		 					<li class="change-row">{{{highlightNewForAttr ./this.attributes.newValue ./this.attributes.previousValue 'old'}}}</li>
+					{{/compare}}
+				{{else}}
+						<li>--</li>
+				{{/if}}		
+			{{/each}}	
+			</ol>
+		</div> 
+		<div class="diff-right">
+			<h3>New Value</h3>
+			<ol class="unstyled data">
+			{{#each collection}}
+				{{#if ./this.attributes.newValue}}
+					{{#compare ./this.attributes.newValue "eq" ''}}
+  						<li>--</li>		
+					{{else}}
+  						<li class="change-row">{{{highlightNewForAttr ./this.attributes.newValue ./this.attributes.previousValue 'new'}}}</li>
+					{{/compare}}
+				{{else}}
+					<li>--</li>
+				{{/if}}		
+			{{/each}}	
+			</ol>
+		</div>
+	</div>
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/reports/PolicyDeleteOperationDiff_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/reports/PolicyDeleteOperationDiff_tmpl.html b/security-admin/src/main/webapp/templates/reports/PolicyDeleteOperationDiff_tmpl.html
new file mode 100644
index 0000000..c52ddc7
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/reports/PolicyDeleteOperationDiff_tmpl.html
@@ -0,0 +1,86 @@
+<label class="no-margin label-size13-weightbold">ID : {{objectId}}</label>
+<label class="no-margin label-size13-weightbold">Repository Type : {{repositoryType}}</label>
+<label class="no-margin label-size13-weightbold"> Date  &nbsp;&nbsp;:  {{objectCreatedDate}}</label>
+<label class="no-margin label-size13-weightbold" > Deleted By  &nbsp;&nbsp;:  {{userName}}</label>
+
+{{#if collection.length}}
+	<h5>Policy Details :</h5>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Fields</h3>
+			<ol class="attr">
+			{{#each collection}}
+				<li class="change-row">{{./this.attributes.attributeName}}</li>
+			{{/each}}	
+			</ol>
+		</div>
+		 <div class="diff-left" >
+			<h3>Old Value</h3>
+			<ol class="unstyled data">
+			{{#each collection}}
+				{{#if ./this.attributes.previousValue}}
+					{{#compare ./this.attributes.previousValue "eq" ''}}
+		 					<li>--</li>		
+					{{else}}
+		 					<li class="change-row">{{./this.attributes.previousValue}}</li>
+					{{/compare}}
+				{{else}}
+						<li>--</li>
+				{{/if}}		
+			{{/each}}	
+		</div> 
+	</div>
+{{/if}}	
+{{#if isGroupPerm}}	
+	<h5>Group Permissions :</h5>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Groups</h3>
+			<ol class="attr">
+			{{#eachProperty previousGroupPermList}}
+					<li class="change-row">{{property}}</li>
+			{{/eachProperty }}	
+			</ol>
+		</div>
+		<div class="diff-left" data-id="diff">
+			<h3>Old Value</h3>
+			<ol class="unstyled data">
+				{{#eachProperty previousGroupPermList}}
+					<li class="change-row">
+						{{#each value}}
+							{{permType}} 
+							<span>,</span>
+						{{/each}}
+				</li>
+			{{/eachProperty }}
+			</ol>
+		</div>
+	</div>
+{{/if}}
+{{#if isUserPerm}}
+	<h5>User Permissions :</h5>
+	<div class="diff">
+		<div class="diff-left" >
+			<h3>Users</h3>
+			<ol class="attr">
+				{{#eachProperty previousUserPermList}}
+					<li class="change-row">{{property}}</li>
+				{{/eachProperty }}	
+			</ol>
+		</div>
+	
+		<div class="diff-left" data-id="diff">
+			<h3>Old Value</h3>
+			<ol class="unstyled data">
+				{{#eachProperty previousUserPermList}}
+					<li class="change-row">
+						{{#each value}}
+							{{permType}} 
+							<span>,</span>
+						{{/each}}
+				</li>
+			{{/eachProperty }}
+			</ol>
+		</div>
+	</div> 
+{{/if}}	
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/reports/PolicyOperationDiff_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/reports/PolicyOperationDiff_tmpl.html b/security-admin/src/main/webapp/templates/reports/PolicyOperationDiff_tmpl.html
new file mode 100644
index 0000000..51b7808
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/reports/PolicyOperationDiff_tmpl.html
@@ -0,0 +1,87 @@
+<div class="diff-content">
+	<label class="no-margin label-size13-weightbold">ID : {{objectId}}</label>
+	<label class="no-margin label-size13-weightbold">Repository Type : {{repositoryType}}</label>
+	<label class="no-margin label-size13-weightbold"> Date  &nbsp;&nbsp;:  {{objectCreatedDate}}</label>
+	<label class="no-margin label-size13-weightbold" > Created By  &nbsp;&nbsp;:  {{userName}}</label>
+
+{{#if collection.length}}
+	<h5>Policy Details :</h5>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Fields</h3>
+			<ol class="attr">
+			{{#each collection}}
+				<li class="change-row">{{./this.attributes.attributeName}}</li>
+			{{/each}}	
+			</ol>
+		</div>
+		<div class="diff-right">
+			<h3>New Value</h3>
+			<ol class="unstyled data">
+			{{#each collection}}
+				{{#if ./this.attributes.newValue}}
+					{{#compare ./this.attributes.newValue "eq" ''}}
+  						<li>--</li>		
+					{{else}}
+  						<li class="change-row">{{./this.attributes.newValue}}</li>
+					{{/compare}}
+				{{else}}
+					<li>--</li>
+				{{/if}}		
+			{{/each}}	
+			</ol>
+		</div>
+	</div>
+{{/if}}	
+{{#if isGroupPerm}}	
+	<h5>Group Permissions :</h5>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Groups</h3>
+			<ol class="attr">
+			{{#eachProperty newGroupPermList}}
+					<li class="change-row">{{property}}</li>
+			{{/eachProperty }}	
+			</ol>
+		</div>
+		<div class="diff-right" data-id="diff">
+			<h3>New Value</h3>
+			<ol class="unstyled data">
+				{{#eachProperty newGroupPermList}}
+					<li class="change-row">
+						{{#each value}}
+							{{permType}} <span>,</span>
+						{{/each}}
+				</li>
+			{{/eachProperty }}
+			</ol>
+		</div>
+	</div>
+{{/if}}
+{{#if isUserPerm}}
+	<h5>User Permissions :</h5>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Users</h3>
+			<ol class="attr">
+				{{#eachProperty newUserPermList}}
+					<li class="change-row">{{property}}</li>
+				{{/eachProperty }}	
+			</ol>
+		</div>
+		<div class="diff-right" data-id="diff">
+			<h3>New Value</h3>
+			<ol class="unstyled data">
+				{{#eachProperty newUserPermList}}
+					<li class="change-row">
+						{{#each value}}
+							{{permType}} <span>,</span>
+						{{/each}}
+				</li>
+			{{/eachProperty }}
+			</ol>
+		</div>
+	</div> 
+{{/if}}	
+
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/reports/PolicyUpdateOperationDiff_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/reports/PolicyUpdateOperationDiff_tmpl.html b/security-admin/src/main/webapp/templates/reports/PolicyUpdateOperationDiff_tmpl.html
new file mode 100644
index 0000000..1c5657d
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/reports/PolicyUpdateOperationDiff_tmpl.html
@@ -0,0 +1,147 @@
+<div class="diff-content">
+	<div class="row-fluid">
+		<div class="span6">
+			<label class="no-margin label-size13-weightbold">ID : {{objectId}}</label>
+			<label class="no-margin label-size13-weightbold">Repository Type : {{repositoryType}}</label>
+			<label class="no-margin label-size13-weightbold"> Date  &nbsp;&nbsp;:  {{objectCreatedDate}}</label>
+			<label class="no-margin label-size13-weightbold" > Updated By  &nbsp;&nbsp;:  {{userName}}</label>
+		</div>	
+		<div class="span6 text-right">
+			<div class="add-text legend"></div> Added
+			<div class="delete-text legend"></div> Deleted
+		</div>
+	</div>
+{{#if collection.length}}
+	<h5>Policy Details :</h5>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Fields</h3>
+			<ol class="attr">
+			{{#each collection}}
+				<li class="change-row">{{./this.attributes.attributeName}}</li>
+			{{/each}}	
+			</ol>
+		</div>
+	    <div class="diff-left">
+			<h3>Old Value</h3>
+			<ol class="unstyled data">
+			{{#each collection}}
+				{{#if ./this.attributes.previousValue}}
+					{{#compare ./this.attributes.previousValue "eq" ''}}
+		 					<li>--</li>		
+					{{else}}
+		 					<li class="change-row">{{{highlightNewForAttr ./this.attributes.newValue ./this.attributes.previousValue 'old'}}}</li>
+					{{/compare}}
+				{{else}}
+						<li>--</li>
+				{{/if}}		
+			{{/each}}	
+			</ol>
+		</div> 
+		<div class="diff-right">
+			<h3>New Value</h3>
+			<ol class="unstyled data">
+			{{#each collection}}
+				{{#if ./this.attributes.newValue}}
+					{{#compare ./this.attributes.newValue "eq" ''}}
+  						<li>--</li>		
+					{{else}}
+  						<li class="change-row">{{{highlightNewForAttr ./this.attributes.newValue ./this.attributes.previousValue 'new'}}}</li>
+					{{/compare}}
+				{{else}}
+					<li>--</li>
+				{{/if}}		
+			{{/each}}	
+			</ol>
+		</div>
+	</div>
+{{/if}}
+{{#if isGroupPerm}}	
+	<h5>Group Permissions :</h5>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Groups</h3>
+			<ol class="attr">
+			{{#each groupList}}
+					<li class="change-row">{{./this}}</li>
+			{{/each}}	
+			</ol>
+		</div>
+		<div class="diff-left" data-id="diff" data-name="policyDiff">
+			<h3>Old Value</h3>
+			<ol class="unstyled data">
+					{{#eachProperty previousGroupPermList}}
+						<li class="change-row">
+							{{#each value}}
+							 	{{#compare permType "eq" ''}}
+									
+								{{else}}
+									{{{highlightPermissionsForGroup ../this ../../property ../../../newGroupPermList 'old'}}}
+									<span>,</span> 
+								{{/compare}}
+							{{/each}}
+						</li>
+					{{/eachProperty }}
+			</ol>
+		</div>
+		<div class="diff-right" data-id="diff" data-name="policyDiff">
+			<h3>New Value</h3>
+			<ol class="unstyled data">
+				{{#eachProperty newGroupPermList}}
+					<li class="change-row">
+						{{#each value}}
+							<!-- {{permType}}, -->
+							{{{highlightPermissionsForGroup ./this ../property ../../previousGroupPermList 'new'}}}
+							<span>,</span> 
+						{{/each}}
+				</li>
+			{{/eachProperty }}
+			</ol>
+		</div>
+	</div>
+{{/if}}
+{{#if isUserPerm}}
+	<h5>User Permissions :</h5>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Users</h3>
+			<ol class="attr">
+				{{#each userList}}
+					<li class="change-row">{{./this}}</li>
+				{{/each }}	
+			</ol>
+		</div>
+		<div class="diff-left" data-id="diff" data-name="policyDiff">
+			<h3>Old Value</h3>
+			<ol class="unstyled data">
+				{{#eachProperty previousUserPermList}}
+					<li class="change-row">
+						{{#each value}}
+							 	{{#compare permType "eq" ''}}
+									
+								{{else}}
+									{{{highlightPermissionsForUser ../this ../../property ../../../newUserPermList 'old'}}}
+									<span>,</span> 
+								{{/compare}}
+						{{/each}}
+					</li>
+				{{/eachProperty }}
+			</ol>
+		</div>
+		<div class="diff-right" data-id="diff" data-name="policyDiff">
+			<h3>New Value</h3>
+			<ol class="unstyled data">
+				{{#eachProperty newUserPermList}}
+					<li class="change-row">
+						{{#each value}}
+								<!-- {{permType}}, -->
+								{{{highlightPermissionsForUser ./this ../property ../../previousUserPermList 'new'}}}
+								<span>,</span>
+						{{/each}}
+				</li>
+				{{/eachProperty}}
+			</ol>
+		</div>
+	</div> 
+{{/if}}	
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/reports/UserAccessLayout_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/reports/UserAccessLayout_tmpl.html b/security-admin/src/main/webapp/templates/reports/UserAccessLayout_tmpl.html
new file mode 100644
index 0000000..a134318
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/reports/UserAccessLayout_tmpl.html
@@ -0,0 +1,137 @@
+<h3 class="wrap-header bold"> Reports </h3>
+
+<div class="wrap non-collapsible ">
+	<h3 class="wrap-header reportSearchHeader">Search Criteria
+		<span class="label label-yellow pull-right" data-js="searchResult" ></span>
+	</h3>
+	<div class="wrap well ">
+		<div class="row-fluid">
+			<div class="span12">
+				<div class="form-horizontal">
+					<div class="span12">
+						<div class="control-group">
+							<label class="control-label">Policy Name</label>
+							<div class="controls">
+								<input type="text" name="policyName" data-js="policyName" class="input-xxlarge">
+							</div>
+						</div>
+						<div class="control-group">
+							<label class="control-label">Resource</label>
+							<div class="controls">
+								<input type="text" name="resourceName" data-js="resourceName" class="input-xxlarge">
+							</div>
+						</div>
+
+						<div class="control-group search-by">
+							<label class="control-label">Search By</label>
+							<div class="controls" data-js="searchBy">
+								<div class="">
+									<div class="btn-group">
+										<button class="btn dropdown-toggle" data-toggle="dropdown">
+											<span>Group</span>
+											<span class="caret"> </span>
+										</button>
+										<ul class="dropdown-menu">
+											<li>
+												<a data-id="grpSel" class="autoText" href="javascript:;">Group</a>
+											</li>
+											<li>
+												<a data-id="userSel" class="autoText" href="javascript:;">Username</a>
+											</li>
+										</ul>
+									</div>
+									<input type="text" data-js="selectGroups">
+									<input type="text" style="display: none" data-js="userName">
+								</div>
+							</div>
+						</div>
+
+
+					</div>
+					<div >
+						<div class="control-group">
+							<div class="controls">
+								<button type="button" class="btn btn-primary btn-small" data-js="searchBtn" name="searchPolicy">
+									<i class="icon-search"></i>
+									Search
+								</button>
+							</div>
+						</div>
+
+					</div>
+
+				</div>
+			</div>
+
+		</div>
+	</div>
+
+	<!-- <div class="alert alert-success">
+	<a href="#" class="close" data-dismiss="alert">×</a>
+	<label data-js="searchResult"></label>
+	</div> -->
+
+	<div class="clearfix">
+		<span class="pull-right">GOTO :&nbsp;&nbsp; 
+			<a href="javascript:;" class="link-tag gotoLink" data-js="gotoHive" style="margin-right: 5px;">
+				<i class=" icon-chevron-down" ></i>
+				Hive Table
+			</a>
+			<a href="javascript:;" class="link-tag gotoLink" data-js="gotoHbase">
+				<i class=" icon-chevron-down" ></i>
+				Hbase Table
+			</a>
+			<a href="javascript:;" class="link-tag gotoLink" data-js="gotoKnox">
+				<i class=" icon-chevron-down" ></i>
+				Knox Table
+			</a>
+			<a href="javascript:;" class="link-tag gotoLink" data-js="gotoStorm">
+				<i class=" icon-chevron-down" ></i>
+				Storm Table
+			</a>
+		</span>
+	</div>
+
+	<div class="row-fluid">
+		<h3 class="wrap-header bold reportSearchHeader" data-js="hdfsHeader"> {{tt 'lbl.listOfHDFSPolicies'}}
+			<span class="label label-yellow pull-right" data-js="hdfsSearchResult" ></span>
+		</h3>
+		<div class="wrap well position-relative">
+			<div  data-id="r_hdfsTable" class="hdfs-table showMoreLess"></div>
+			<div data-id="r_hdfsTableSpinner" class="" ></div>
+		</div>
+
+		<h3  class="wrap-header bold reportSearchHeader" data-js="hiveHeader"> {{tt 'lbl.listOfHIVEPolicies'}}
+			<span class="label label-yellow pull-right" data-js="hiveSearchResult" ></span>
+		</h3>
+		<div class="wrap well position-relative">
+			<div   data-id="r_hiveTable" class="showMoreLess"></div>
+			<div data-id="r_hiveTableSpinner" class="" ></div>
+		</div>
+		
+		<h3  class="wrap-header bold reportSearchHeader" data-js="hbaseHeader"> {{tt 'lbl.listOfHBASEPolicies'}}
+			<span class="label label-yellow pull-right" data-js="hbaseSearchResult" ></span>
+		</h3>
+		<div class="wrap well position-relative">
+			<div   data-id="r_hbaseTable" class="showMoreLess"></div>
+			<div data-id="r_hbaseTableSpinner" class="" ></div>
+		</div>
+		
+		<h3  class="wrap-header bold reportSearchHeader" data-js="knoxHeader"> {{tt 'lbl.listOfKNOXPolicies'}}
+			<span class="label label-yellow pull-right" data-js="knoxSearchResult" ></span>
+		</h3>
+		<div class="wrap well position-relative">
+			<div   data-id="r_knoxTable" class="showMoreLess"></div>
+			<div data-id="r_knoxTableSpinner" class="" ></div>
+		</div>
+		
+		<h3  class="wrap-header bold reportSearchHeader" data-js="stormHeader"> {{tt 'lbl.listOfSTORMPolicies'}}
+			<span class="label label-yellow pull-right" data-js="stormSearchResult" ></span>
+		</h3>
+		<div class="wrap well position-relative">
+			<div   data-id="r_stormTable" class="showMoreLess"></div>
+			<div data-id="r_stormTableSpinner" class="" ></div>
+		</div>
+	</div>
+
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/reports/UserOperationDiff_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/reports/UserOperationDiff_tmpl.html b/security-admin/src/main/webapp/templates/reports/UserOperationDiff_tmpl.html
new file mode 100644
index 0000000..b00aec5
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/reports/UserOperationDiff_tmpl.html
@@ -0,0 +1,61 @@
+<div class="diff-content">
+	<label class="no-margin label-size13-weightbold">Name : {{objectName}}</label>
+	<label class="no-margin label-size13-weightbold"> Date  &nbsp;&nbsp;:  {{objectCreatedDate}}</label>
+	<label class="no-margin label-size13-weightbold" > Created By  &nbsp;&nbsp;:  {{userName}}</label>
+{{#compare action 'eq' 'create'}}
+	{{#if collection.length}}
+		<h5>User Details :</h5>
+		<div class="diff">
+			<div class="diff-left">
+				<h3>Fields</h3>
+				<ol class="attr">
+				{{#each collection}}
+					<li class="change-row">{{./this.attributes.attributeName}}</li>
+				{{/each}}	
+				</ol>
+			</div>
+			<div class="diff-right">
+				<h3>New Value</h3>
+				<ol class="unstyled data">
+				{{#each collection}}
+					{{#if ./this.attributes.newValue}}
+						{{#compare ./this.attributes.newValue "eq" ''}}
+	  						<li>--</li>		
+						{{else}}
+	  						<li class="change-row">{{./this.attributes.newValue}}</li>
+						{{/compare}}
+					{{else}}
+						<li>--</li>
+					{{/if}}		
+				{{/each}}	
+				</ol>
+			</div>
+		</div>
+	{{/if}}	
+ 	
+	<h5>Group  :</h5>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Fields</h3>
+			<ol class="attr">
+				<li class="change-row">Groups</li>
+			</ol>
+		</div>
+		<div class="diff-right" data-id="diff">
+			<h3>New Value</h3>
+			<ol class="unstyled data">
+				<li class="change-row">
+					{{#each newGroupList}}
+						{{./this}} 
+						<span>,</span>
+					{{/each}}
+				</li>
+			</ol>
+		</div>
+	</div>
+
+
+{{else}}
+	<h4>{{tt 'msg.userDoesNotExistAnymore'}}</h4>
+{{/compare}}
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/reports/UserUpdateOperationDiff_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/reports/UserUpdateOperationDiff_tmpl.html b/security-admin/src/main/webapp/templates/reports/UserUpdateOperationDiff_tmpl.html
new file mode 100644
index 0000000..721c9f0
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/reports/UserUpdateOperationDiff_tmpl.html
@@ -0,0 +1,98 @@
+<div class="diff-content">
+	<div class="row-fluid">
+		<div class="span6">
+			<label class="no-margin label-size13-weightbold">Name : {{objectName}}</label>
+			<label class="no-margin label-size13-weightbold"> Date  &nbsp;&nbsp;:  {{objectCreatedDate}}</label>
+			<label class="no-margin label-size13-weightbold" > Updated By  &nbsp;&nbsp;:  {{userName}}</label>
+		</div>	
+		<div class="span6 text-right">
+			<div class="add-text legend"></div> Added
+			<div class="delete-text legend"></div> Deleted
+		</div>
+	</div> 
+{{#if collection.length}}	
+	<h5>User Details</h5>
+
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Fields</h3>
+			<ol class="attr">
+			{{#each collection}}
+				<li class="change-row">{{./this.attributes.attributeName}}</li>
+			{{/each}}	
+			</ol>
+		</div>
+		<div class="diff-left">
+			<h3>Old Value</h3>
+			<ol class="unstyled data">
+			{{#each collection}}
+				{{#if ./this.attributes.previousValue}}
+					{{#compare ./this.attributes.previousValue "eq" 'null'}}
+		 					<li>--</li>		
+					{{else}}
+						{{#compare ./this.attributes.previousValue "eq" ''}}
+			 					<li>--</li>		
+						{{else}}
+			 					<li class="change-row">{{{highlightNewForAttr ./this.attributes.newValue ./this.attributes.previousValue 'old'}}}</li>
+						{{/compare}}
+					{{/compare}}	
+				{{else}}
+						<li>--</li>
+				{{/if}}		
+			{{/each}}	
+			</ol>
+		</div>
+		<div class="diff-right">
+			<h3>New Value</h3>
+			<ol class="unstyled data">
+			{{#each collection}}
+				{{#if ./this.attributes.newValue}}
+					{{#compare ./this.attributes.newValue "eq" ''}}
+  						<li>--</li>		
+					{{else}}
+  						<li class="change-row">{{{highlightNewForAttr ./this.attributes.newValue ./this.attributes.previousValue 'new'}}}</li>
+					{{/compare}}
+				{{else}}
+					<li>--</li>
+				{{/if}}		
+			{{/each}}	
+			</ol>
+		</div>
+	</div>
+{{/if}}
+{{#if isGroup}}
+	<h5>Group  :</h5>
+	<div class="diff">
+		<div class="diff-left">
+			<h3>Fields</h3>
+			<ol class="attr">
+				<li class="change-row">Groups</li>
+			</ol>
+		</div>
+		<div class="diff-left" data-id="diff">
+			<h3>Old Value</h3>
+			<ol class="unstyled data">
+				<li class="change-row">
+					{{#each previousGroupList}}
+						<!-- {{this}} -->
+						{{{highlightUsersForArr ./this ../newGroupList 'old'}}}
+						<span>,</span>
+					{{/each}}
+				</li>
+			</ol>
+		</div>
+		<div class="diff-right" data-id="diff">
+			<h3>New Value</h3>
+			<ol class="unstyled data">
+				<li class="change-row">
+					{{#each newGroupList}}
+						<!-- {{this}} --> 
+						{{{highlightUsersForArr ./this ../previousGroupList 'new'}}}
+						<span>,</span>
+					{{/each}}
+				</li>
+			</ol>
+		</div>
+	</div>
+{{/if}}	
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/storm/StormPolicyCreate_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/storm/StormPolicyCreate_tmpl.html b/security-admin/src/main/webapp/templates/storm/StormPolicyCreate_tmpl.html
new file mode 100644
index 0000000..69fc201
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/storm/StormPolicyCreate_tmpl.html
@@ -0,0 +1,30 @@
+{{#if editPolicy}}
+	<h4> {{tt 'h.editPolicy'}}</h4>
+{{else}}
+	<h4> {{tt 'h.createPolicy'}} </h4>
+{{/if}}	
+<div class="wrap non-collapsible ">
+
+	<div data-id="r_form"></div>
+	<div class="form-actions form-policy" class="row-fluid">
+		{{#if editPolicy}}
+			<button type="submit" data-id="save" class="btn btn-primary btn-spinner">
+				<span>Save</span>
+				<i class="icon-spinner icon-spin"></i>
+			</button>
+		{{else}}
+			<button type="submit" data-id="save" class="btn btn-primary btn-spinner">
+				<span>Add</span> 
+				<i class="icon-spinner icon-spin"></i> 
+			</button>
+			
+		{{/if}}	
+			<button type="button" data-id="cancel" class="btn btn-inverse">
+				Cancel
+			</button>
+		{{#if editPolicy}}
+			<button type="button" data-id="delete" class="btn btn-danger" ><!-- style="margin-left: 27%;" -->Delete</button>
+		{{/if}}	
+	</div>
+</div>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/storm/StormPolicyForm_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/storm/StormPolicyForm_tmpl.html b/security-admin/src/main/webapp/templates/storm/StormPolicyForm_tmpl.html
new file mode 100644
index 0000000..44a8d28
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/storm/StormPolicyForm_tmpl.html
@@ -0,0 +1,38 @@
+<form class="form-horizontal">
+	<fieldset>
+		<p class="formHeader">
+			<span>Policy Details :</span> 
+		</p>
+		<div class="" data-fields="policyName"></div>
+		<div class="" data-fields="topologies"></div>
+		<!-- <div class="" data-fields="services"></div> -->
+		
+		<!-- <div class="" data-fields="views" style="display:none"></div> -->
+		<!-- <div class="" data-editors="udfs" style="display:none;margin-left: 180px;margin-top: -29px;margin-bottom: 15px;"></div> -->
+		<div class="" data-fields="_vAuditListToggle"></div>
+	</fieldset>
+ 	<fieldset>
+		<p class="formHeader">
+			User and Group Permissions :
+		</p>
+		<div class="" data-customfields="groupPerms">
+			<div class="control-group">
+				<label class="control-label">{{tt 'lbl.groupPermissions'}}</label>
+				<div class="controls">
+					<img src="images/loading.gif" style=" margin-left: 4%; margin-top: 1%;" />
+				</div>
+			</div>		
+		</div>
+		<div class="" data-customfields="userPerms">
+			<div class="control-group">
+				<label class="control-label">{{tt 'lbl.userPermissions'}}</label>
+				<div class="controls">
+					<img src="images/loading.gif" style=" margin-left: 4%; margin-top: 1%;" />
+				</div>
+			</div>
+		</div>
+		<div class="" data-fields="description"></div>
+		<div class="" data-fields="resourceStatus" style="margin-top: 31px;"></div>
+	</fieldset> 
+</form>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/storm/StormTableLayout_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/storm/StormTableLayout_tmpl.html b/security-admin/src/main/webapp/templates/storm/StormTableLayout_tmpl.html
new file mode 100644
index 0000000..604c787
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/storm/StormTableLayout_tmpl.html
@@ -0,0 +1,25 @@
+<h3 class="wrap-header bold"> {{tt 'lbl.listOfPolicies'}} : {{assetModel.attributes.name}} </h3>
+<div class="wrap non-collapsible m-height ">
+	<div class="span9">
+		<div class="span9">
+			<div class="visual_search"></div>
+		</div>
+		<div class="clearfix">
+			<a href="#!/storm/{{assetId}}/policy/create" class="btn btn-primary btn-right" type="button"> {{tt 'lbl.addNewPolicy'}} </a>
+		{{#if isSysAdmin}}	
+			{{#if version}}
+				<a href="javascript:void(0);" data-js="export" class="btn btn-black btn-right">{{tt 'lbl.exports'}}</a>
+			{{/if}} 
+		{{/if}}	
+			<div data-id="r_filter" class="wrap-filter pull-left"></div>
+		</div>
+		
+		<div data-id="r_tableList" class="clickable">
+		</div>
+	</div>
+
+	<div class="span3" style="margin-top:39px">
+		<div id="policyDetail"></div>
+	</div>
+</div>
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/user/UserProfileForm_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/user/UserProfileForm_tmpl.html b/security-admin/src/main/webapp/templates/user/UserProfileForm_tmpl.html
new file mode 100644
index 0000000..f718ece
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/user/UserProfileForm_tmpl.html
@@ -0,0 +1,24 @@
+<form class="form-horizontal">
+	<!-- <fieldset> -->
+		<!-- <legend>
+			User Profile
+		</legend> -->
+		<div class="" data-fields="firstName"></div>
+		<div class="" data-fields="lastName"></div>
+		<div class="" data-fields="emailAddress"></div>
+		<div class="" data-fields="userRoleList"></div> 
+		<div class="" data-fields="oldPassword"></div>
+		<div class="" data-fields="newPassword"></div>
+		<div class="" data-fields="reEnterPassword"></div>
+	<!-- </fieldset> -->
+	<!-- <fieldset>
+		<legend>
+			User and Group Permissions
+		</legend>
+		<div class="" data-customfields="groupPerms"></div>
+		<div class="" data-customfields="userPerms"></div>
+	</fieldset> -->
+</form>
+
+
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/user/UserProfile_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/user/UserProfile_tmpl.html b/security-admin/src/main/webapp/templates/user/UserProfile_tmpl.html
new file mode 100644
index 0000000..cd7f2f5
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/user/UserProfile_tmpl.html
@@ -0,0 +1,29 @@
+<h4 class="wrap-header bold"> User Profile </h4>
+<div class="wrap non-collapsible ">
+
+	<ul class="nav nav-tabs tabs clearfix" >
+		<li class="" data="edit-password" data-tab="edit-password">
+			<a data-toggle="tab" href="#edit-password"> <i class="blue icon-key bigger-125"></i> Change Password </a>
+		</li>
+		<li class="active" data-tab="edit-basic">
+			<a data-toggle="tab" href="#edit-basic"> <i class="green icon-edit bigger-125"></i> Basic Info </a>
+		</li>
+
+	</ul>
+
+	<div class="tab-content user-profile-tab-content">
+		<div class="tab-pane active" id="tab1">
+			<div data-id="r_form"></div>
+		</div>
+	</div>
+
+	<div class="form-actions form-policy">
+		<button type="submit" data-id="save" class="btn btn-primary">
+			Save
+		</button>
+		<button type="button" data-id="cancel" class="btn btn-inverse">
+			Cancel
+		</button>
+	</div>
+
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/templates/users/GroupCreate_tmpl.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/templates/users/GroupCreate_tmpl.html b/security-admin/src/main/webapp/templates/users/GroupCreate_tmpl.html
new file mode 100644
index 0000000..22eac94
--- /dev/null
+++ b/security-admin/src/main/webapp/templates/users/GroupCreate_tmpl.html
@@ -0,0 +1,13 @@
+<h4 class="wrap-header bold"> Group Detail </h4>
+<div class="wrap non-collapsible ">
+	<div data-id="r_form"></div>
+	<div class="form-actions form-policy" class="row-fluid">
+		<button type="button" data-id="save" class="btn btn-primary">
+			Save
+		</button>
+		<button type="button" data-id="cancel" class="btn btn-inverse">
+			Cancel
+		</button>
+	</div>
+</div>
+


Mime
View raw message