From 79121484b7e6f721f5435a102018152a164ed655 Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Wed, 22 Jan 2014 18:55:29 +0000
Subject: [PATCH] #395 feature - Implemented pack section
---
securis/src/main/resources/static/licenses.html | 132 ++++++++++++++++++++++++++++++++++++++-----
1 files changed, 116 insertions(+), 16 deletions(-)
diff --git a/securis/src/main/resources/static/licenses.html b/securis/src/main/resources/static/licenses.html
index 53e911a..63b5b2a 100644
--- a/securis/src/main/resources/static/licenses.html
+++ b/securis/src/main/resources/static/licenses.html
@@ -3,7 +3,7 @@
<div class="container">
<div class="col-md-12"> </div>
- <div id="packs_section" class="col-md-6">
+ <div id="packs_section" class="col-md-6" ng-controller="PacksCtrl">
<nav class="navbar navbar-default navbar-static-top">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
@@ -14,7 +14,7 @@
<div class="collapse navbar-collapse"
id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
- <li><a i18n ng-click="editNew()"><span class="glyphicon glyphicon-plus"></span>
+ <li><a i18n ng-click="newPack()"><span class="glyphicon glyphicon-plus"></span>
New</a></li>
<li><a i18n ng-click="cancel()"> <span
class="glyphicon glyphicon-ban-circle"></span> Cancel
@@ -23,12 +23,112 @@
<div class="navbar-form navbar-right">
<div class="input-group input-group-sm">
<span class="input-group-addon glyphicon glyphicon-search" style="top: 0px;"></span>
- <input type="text" class="form-control" placeholder="Search" ng-model="$parent.searchText" >
- <span class="btn input-group-addon glyphicon glyphicon-remove" ng-click="$parent.searchText = ''" style="top: 0px;"></span>
+ <input type="text" class="form-control" placeholder="Search" ng-model="searchText" >
+ <span class="btn input-group-addon glyphicon glyphicon-remove" ng-click="searchText = ''" style="top: 0px;"></span>
</div>
</div>
</div>
</nav>
+
+ <div class="panel panel-default animate-show ng-hide" ng-show="showForm">
+ <form role="form" class="form-horizontal " name="packForm" id="packForm" ng-submit="save()" >
+ <div class="form-group" ng-if="!isNew">
+ <label class="col-md-3 control-label" >ID</label>
+ <div class="col-md-8">
+ <p class="form-control-static" ng-bind="pack.id"></p>
+ </div>
+ </div>
+ <div class="form-group" >
+ <label class="col-md-3 control-label" for="code" i18n>Code</label>
+ <div class="col-md-8">
+ <input type="string" id="code" name="code" placeholder="" class="form-control" ng-model="pack.code" ng-required="mandatory.code" ng-maxlength="{{maxlength.code}}" />
+ <div class="alert inline-alert alert-warning" ng-show="packForm.code.$invalid">
+ <span class="glyphicon glyphicon-warning-sign"></span>
+ <span ng-show="packForm.code.$error.maxlength" ng-bind="maxlengthErrorMsg('Code', maxlength.code)"></span>
+ <span ng-show="packForm.code.$error.required" ng-bind="mandatoryFieldErrorMsg('Code')"></span>
+ </div>
+ </div>
+ </div>
+
+ <div class="form-group" >
+ <label class="col-md-3 control-label" for="num_licenses" i18n>Num. Licenses</label>
+ <div class="col-md-8">
+ <input type="number" id="num_licenses" name="num_licenses" placeholder="" class="form-control" ng-model="pack.num_licenses" ng-required="mandatory.num_licenses" />
+ <div class="alert inline-alert alert-warning" ng-show="packForm.num_licenses.$invalid">
+ <span class="glyphicon glyphicon-warning-sign"></span>
+ <span ng-show="packForm.num_licenses.$error.maxlength" ng-bind="maxlengthErrorMsg('Num. Licenses', maxlength.num_licenses)"></span>
+ <span ng-show="packForm.num_licenses.$error.required" ng-bind="mandatoryFieldErrorMsg('Num. Licenses')"></span>
+ </div>
+ </div>
+ </div>
+
+ <div class="form-group" >
+ <label class="col-md-3 control-label" for="license_type_id" i18n>License type</label>
+ <div class="col-md-8">
+ <select class="form-control" ng-required="mandatory.license_type_id" ng-model="pack.license_type_id"
+ ng-options="o.id as o.label for o in refs.license_type_id" >
+ <option selected="true" ng-if="!mandatory.license_type_id" value=""></option>
+ </select>
+ <div class="alert inline-alert alert-warning" ng-show="packForm.license_type_id.$invalid">
+ <span class="glyphicon glyphicon-warning-sign"></span>
+ <span ng-show="packForm.license_type_id.$error.required" ng-bind="mandatoryFieldErrorMsg('License type')"></span>
+ </div>
+ </div>
+ </div>
+
+ <div class="form-group" >
+ <label class="col-md-3 control-label" for="organization_id" i18n>Organization</label>
+ <div class="col-md-8">
+ <select class="form-control" ng-required="field.mandatory" ng-model="pack.organization_id"
+ ng-options="o.id as o.label for o in refs.organization_id" >
+ <option selected="true" ng-if="!mandatory.organization_id" value=""></option>
+ </select>
+ <div class="alert inline-alert alert-warning" ng-show="packForm.organization_id.$invalid">
+ <span class="glyphicon glyphicon-warning-sign"></span>
+ <span ng-show="packForm.organization_id.$error.required" ng-bind="mandatoryFieldErrorMsg('Organization')"></span>
+ </div>
+ </div>
+ </div>
+
+
+ <div class="form-group" >
+ <label class="col-md-3 control-label" for="comments" i18n>Comments</label>
+ <div class="col-md-8">
+ <textarea type="string" id="comments" name="comments" placeholder=""
+ class="form-control" ng-model="pack.comments" rows="2" ng-required="mandatory.comments" ng-maxlength="{{maxlength.comments}}"></textarea>
+ <div class="alert inline-alert alert-warning" ng-show="packForm.comments.$invalid">
+ <span class="glyphicon glyphicon-warning-sign"></span>
+ <span ng-show="packForm.comments.$error.maxlength" ng-bind="maxlengthErrorMsg('Comments', maxlength.comments)"></span>
+ <span ng-show="packForm.comments.$error.required" ng-bind="mandatoryFieldErrorMsg('comments')"></span>
+ </div>
+ </div>
+ </div>
+
+ <div class="form-group" ng-if="!isNew">
+ <label class="col-md-3 control-label" >Created by</label>
+ <div class="col-md-8">
+ <p class="form-control-static" ng-bind="pack.created_by_name"></p>
+ </div>
+ </div>
+
+ <div class="form-group" ng-if="!isNew">
+ <label class="col-md-3 control-label" >Creation date</label>
+ <div class="col-md-8">
+ <p class="form-control-static" ng-bind="pack.creationTimestamp | date:'medium'"></p>
+ </div>
+ </div>
+
+ <div class="form-group">
+ <div class="col-md-offset-3 col-md-10" id="saveContainer">
+ <button id="save" type="submit" class="btn btn-primary" >
+ <span i18n class="glyphicon glyphicon-floppy-disk"></span> Save
+ </button>
+ </div>
+ </div>
+ </form>
+ </div>
+
+
<div class="panel panel-default" >
<div class="panel-heading">
Packs <span class="badge pull-right" ng-bind="packs.length || 0"></span>
@@ -37,22 +137,22 @@
<table class="table table-hover table-condensed">
<thead>
<tr>
+ <th i18n >Code</th>
<th i18n >Organization</th>
<th i18n >Application</th>
- <th i18n >Code</th>
<th i18n >Licenses</th>
<th></th>
</tr>
</thead>
<tbody>
- <tr ng-repeat="pack in packs | filter:searchText" ng-dblclick="editPack(row)" ng-class="{success: currentPack.id === pack.id}" ng-click="selectPack(pack)">
- <td ng-bind="ellipsis(pack.organization_name, 20)" title="{{pack.organization_name}}" ></td>
- <td ng-bind="pack.application_name"></td>
- <td style="white-space: nowrap;" ng-bind="pack.code"></td>
- <td title="Total: {{pack.licenses}}, avaliable: {{pack.lic_available}}">{{pack.licenses}} ({{pack.lic_available}})</td>
- <td><span ng-click="editPack(row)"
+ <tr ng-repeat="p in packs | filter:searchText" ng-dblclick="editPack(p)" ng-class="{success: currentPackId === p.id}" ng-click="selectPack(p.id)">
+ <td style="white-space: nowrap;" ng-bind="p.code"></td>
+ <td ng-bind="ellipsis(p.organization_name, 20)" title="{{pack.organization_name}}" ></td>
+ <td ng-bind="p.application_name"></td>
+ <td title="Total: {{p.num_licenses}}, available: {{p.num_available}}">{{p.num_licenses}} ({{p.num_available}})</td>
+ <td><span ng-click="editPack(p)"
class="glyphicon glyphicon-pencil"></span>
- <span ng-click="deletePack(row)"
+ <span ng-click="deletePack(p)"
class="glyphicon glyphicon-remove"></span>
</td>
</tr>
@@ -61,11 +161,11 @@
</tfoot>
</table>
</div>
-
+
</div>
<div id="licenses_section" class="col-md-6" >
- <nav class="navbar navbar-default navbar-static-top" ng-disabled="!!currentPack">
+ <nav class="navbar navbar-default navbar-static-top" ng-disabled="currentPackId === null">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header success">
<a class="navbar-brand" i18n>Licenses</a>
@@ -91,12 +191,12 @@
</div>
</nav>
- <div ng-if="!currentPack" class="well well-lg">
+ <div ng-if="currentPackId === null" class="well well-lg">
<h4 i18n>No pack selected</h4>
<p i18n>Please, select a pack to manage its licenses</p>
</div>
- <div class="panel panel-default" ng-if="currentPack">
+ <div class="panel panel-default" ng-if="currentPackId !== null">
<div class="panel-heading">
<span i18n>Licenses for pack: </span>{{currentPack.code}}
<span style="color: lightgreen;" class="badge pull-right" ng-bind="currentPack.lic_available || 0"></span>
--
Gitblit v1.3.2