From cbfe9207ad7c9bba96b39c550d250d12097fd06f Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Thu, 23 Jan 2014 19:21:10 +0000
Subject: [PATCH] #395 feature - Implemented license section at 75%
---
securis/src/main/resources/static/licenses.html | 196 +++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 182 insertions(+), 14 deletions(-)
diff --git a/securis/src/main/resources/static/licenses.html b/securis/src/main/resources/static/licenses.html
index 63b5b2a..79de58e 100644
--- a/securis/src/main/resources/static/licenses.html
+++ b/securis/src/main/resources/static/licenses.html
@@ -145,7 +145,7 @@
</tr>
</thead>
<tbody>
- <tr ng-repeat="p in packs | filter:searchText" ng-dblclick="editPack(p)" ng-class="{success: currentPackId === p.id}" ng-click="selectPack(p.id)">
+ <tr ng-repeat="p in packs | filter:searchText" ng-dblclick="editPack(p)" ng-class="{success: currentPack.id === p.id}" ng-click="selectPack(p)">
<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>
@@ -164,8 +164,8 @@
</div>
- <div id="licenses_section" class="col-md-6" >
- <nav class="navbar navbar-default navbar-static-top" ng-disabled="currentPackId === null">
+ <div id="licenses_section" class="col-md-6" ng-controller="LicensesCtrl">
+ <nav class="navbar navbar-default navbar-static-top" ng-disabled="!currentPack">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header success">
<a class="navbar-brand" i18n>Licenses</a>
@@ -175,9 +175,9 @@
<div class="collapse navbar-collapse"
id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
- <li><a i18n ng-click="editNewLicense()"><span class="glyphicon glyphicon-plus"></span>
+ <li><a i18n ng-click="newLicense()"><span class="glyphicon glyphicon-plus"></span>
New</a></li>
- <li><a i18n ng-click="cancelEditionLicense()"> <span
+ <li><a i18n ng-click="cancel()"> <span
class="glyphicon glyphicon-ban-circle"></span> Cancel
</a></li>
</ul>
@@ -191,12 +191,179 @@
</div>
</nav>
- <div ng-if="currentPackId === null" class="well well-lg">
+ <div ng-if="!currentPack" 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="currentPackId !== null">
+ <div ng-if="currentPack" class="panel panel-default animate-show ng-hide" ng-show="showForm">
+ <form role="form" class="form-horizontal " name="licenseForm" id="licenseForm" 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="license.id"></p>
+ </div>
+ </div>
+ <div class="form-group" >
+ <label class="col-md-3 control-label" for="pack_id" i18n>Pack</label>
+ <div class="col-md-8">
+ <p class="form-control-static" ng-bind="currentPack.code"></p>
+ <input type="hidden" id="pack_id" name="pack_id" ng-model="license.pack_id" />
+ </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="license.code" ng-required="mandatory.code" ng-maxlength="{{maxlength.code}}" />
+ <div class="alert inline-alert alert-warning" ng-show="licenseForm.code.$invalid">
+ <span class="glyphicon glyphicon-warning-sign"></span>
+ <span ng-show="licenseForm.code.$error.maxlength" ng-bind="maxlengthErrorMsg('Code', maxlength.code)"></span>
+ <span ng-show="licenseForm.code.$error.required" ng-bind="mandatoryFieldErrorMsg('Code')"></span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group" ng-if="!isNew">
+ <label class="col-md-3 control-label" i18n>Status</label>
+ <div class="col-md-8">
+ <p class="form-control-static" ng-bind="showStatusComplete(license)"></p>
+ </div>
+ </div>
+
+ <div class="form-group" >
+ <label class="col-md-3 control-label" for="full_name" i18n>User full name</label>
+ <div class="col-md-8">
+ <input type="string" id="full_name" name="full_name" placeholder="" class="form-control" ng-model="license.full_name" ng-required="mandatory.full_name" />
+ <div class="alert inline-alert alert-warning" ng-show="licenseForm.full_name.$invalid">
+ <span class="glyphicon glyphicon-warning-sign"></span>
+ <span ng-show="licenseForm.full_name.$error.maxlength" ng-bind="maxlengthErrorMsg('User full name', maxlength.full_name)"></span>
+ <span ng-show="licenseForm.full_name.$error.required" ng-bind="mandatoryFieldErrorMsg('User full name')"></span>
+ </div>
+ </div>
+ </div>
+
+ <div class="form-group" >
+ <label class="col-md-3 control-label" for="email" i18n>User email</label>
+ <div class="col-md-8">
+ <input type="email" id="email" name="email" placeholder="" class="form-control" ng-model="license.email" ng-required="mandatory.email" />
+ <div class="alert inline-alert alert-warning" ng-show="licenseForm.email.$invalid">
+ <span class="glyphicon glyphicon-warning-sign"></span>
+ <span ng-show="licenseForm.email.$error.email" ng-bind="'Please, write a valid email address'"></span>
+ <span ng-show="licenseForm.email.$error.maxlength" ng-bind="maxlengthErrorMsg('User email', maxlength.email)"></span>
+ <span ng-show="licenseForm.email.$error.required" ng-bind="mandatoryFieldErrorMsg('User email')"></span>
+ </div>
+ </div>
+ </div>
+
+ <div class="form-group" ng-if="isNew || !license.request_data" >
+ <label class="col-md-3 control-label" for="request_data" i18n>Request data</label>
+ <div class="col-md-8">
+ <textarea type="string" id="request_data" name="request_data" placeholder=""
+ class="form-control" ng-model="license.request_data" rows="2" ng-required="mandatory.request_data" ng-maxlength="{{maxlength.request_data}}"></textarea>
+ <div class="alert inline-alert alert-warning" ng-show="licenseForm.request_data.$invalid">
+ <span class="glyphicon glyphicon-warning-sign"></span>
+ <span ng-show="licenseForm.request_data.$error.maxlength" ng-bind="maxlengthErrorMsg('Request data', maxlength.request_data)"></span>
+ <span ng-show="licenseForm.request_data.$error.required" ng-bind="mandatoryFieldErrorMsg('Request data')"></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="license.comments" rows="2" ng-required="mandatory.comments" ng-maxlength="{{maxlength.comments}}"></textarea>
+ <div class="alert inline-alert alert-warning" ng-show="licenseForm.comments.$invalid">
+ <span class="glyphicon glyphicon-warning-sign"></span>
+ <span ng-show="licenseForm.comments.$error.maxlength" ng-bind="maxlengthErrorMsg('Comments', maxlength.comments)"></span>
+ <span ng-show="licenseForm.comments.$error.required" ng-bind="mandatoryFieldErrorMsg('comments')"></span>
+ </div>
+ </div>
+ </div>
+
+ <div class="form-group" ng-if="!isNew && license.request_data">
+ <label class="col-md-3 control-label" i18n>Request data</label>
+ <div class="col-md-8">
+ <pre class="form-control-static" ng-bind="license.request_data | json"></pre>
+ </div>
+ </div>
+
+ <div class="form-group" ng-if="!isNew && license.license_data">
+ <label class="col-md-3 control-label" i18n >License file</label>
+ <div class="col-md-8">
+ <p class="form-control-static" ng-bind="license.license_data"></p>
+ <button id="downloadLicense" class="btn btn-xs btn-link" ng-click="downloadLicense(license)">
+ <span i18n class="glyphicon glyphicon-download"></span>
+ </button>
+ </div>
+ </div>
+
+ <div class="form-group" ng-if="!isNew">
+ <label class="col-md-3 control-label" i18n>Created by</label>
+ <div class="col-md-8">
+ <p class="form-control-static" ng-bind="license.created_by_name"></p>
+ </div>
+ </div>
+
+ <div class="form-group" ng-if="!isNew && license.canceled_by_name">
+ <label class="col-md-3 control-label" >Canceled by</label>
+ <div class="col-md-8">
+ <p class="form-control-static" ng-bind="license.canceled_by_name"></p>
+ </div>
+ </div>
+
+ <div class="form-group" ng-if="!isNew">
+ <label class="col-md-3 control-label" i18n>Creation date</label>
+ <div class="col-md-8">
+ <p class="form-control-static" ng-bind="license.creationTimestamp | date:'medium'"></p>
+ </div>
+ </div>
+
+ <div class="form-group" ng-if="!isNew">
+ <label class="col-md-3 control-label" i18n >Modification date</label>
+ <div class="col-md-8">
+ <p class="form-control-static" ng-bind="license.modificationTimestamp | date:'medium'"></p>
+ </div>
+ </div>
+
+ <div class="form-group" ng-if="!isNew && license.activationTimestamp">
+ <label class="col-md-3 control-label" i18n >Activation date</label>
+ <div class="col-md-8">
+ <p class="form-control-static" ng-bind="license.activationTimestamp | date:'medium'"></p>
+ </div>
+ </div>
+
+ <div class="form-group" ng-if="!isNew && license.sendTimestamp">
+ <label class="col-md-3 control-label" i18n >Send date</label>
+ <div class="col-md-8">
+ <p class="form-control-static" ng-bind="license.sendTimestamp | date:'medium'"></p>
+ </div>
+ </div>
+
+ <div class="form-group" ng-if="!isNew && license.cancelationTimestamp">
+ <label class="col-md-3 control-label" i18n >Cancelation date</label>
+ <div class="col-md-8">
+ <p class="form-control-static" ng-bind="license.cancelationTimestamp | date:'medium'"></p>
+ </div>
+ </div>
+
+ <div class="form-group" ng-if="!isNew && license.lastAccessTimestamp">
+ <label class="col-md-3 control-label" i18n>Last access date</label>
+ <div class="col-md-8">
+ <p class="form-control-static" ng-bind="license.lastAccessTimestamp | 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" ng-if="currentPack">
<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>
@@ -217,19 +384,20 @@
<tbody>
<tr ng-repeat="lic in licenses | filter:searchLicenseText" ng-dblclick="editLicense(lic)" >
<td style="white-space: nowrap;" ng-bind="lic.code"></td>
- <td ng-bind="ellipsis(lic.user_fullname, 20)" title="{{lic.user_fullname}}" ></td>
- <td ng-bind="ellipsis(lic.user_email, 30)" title="{{lic.user_email}}" ></td>
- <td ng-bind="lic.status"></td>
+ <td ng-bind="ellipsis(lic.full_name, 20)" title="{{lic.full_name}}" ></td>
+ <td ng-bind="ellipsis(lic.email, 30)" title="{{lic.email}}" ></td>
+ <td ng-bind="showStatus(lic.status)"></td>
<td>
<div class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" >
<span class="glyphicon glyphicon-align-justify"></span> <span class="caret"></span>
</a>
<ul class="dropdown-menu">
- <li><a ng-click="editLicense(lic)"><span class="glyphicon glyphicon-pencil"></span> <span i18n>Edit</span></a></li>
- <li><a ng-click="activateLicense(lic)"><span class="glyphicon glyphicon-check"></span> <span i18n>Activate</span></a></li>
- <li><a ng-click="sendEmail(lic)"><span class="glyphicon glyphicon-send"></span> <span i18n>Send email</span></a></li>
- <li><a ng-click="editLicense(lic)"><span class="glyphicon glyphicon-remove"></span> <span i18n>Remove</span></a></li>
+ <li ng-if="isActionVisible(1, lic)"><a ng-click="downloadLicense(lic)"><span class="glyphicon glyphicon-download"></span> <span i18n>Download</span></a></li>
+ <li ng-if="isActionVisible(2, lic)"><a ng-click="editLicense(lic)"><span class="glyphicon glyphicon-pencil"></span> <span i18n>Edit</span></a></li>
+ <li ng-if="isActionVisible(4, lic)"><a ng-click="activateLicense(lic)"><span class="glyphicon glyphicon-check"></span> <span i18n>Activate</span></a></li>
+ <li ng-if="isActionVisible(8, lic)"><a ng-click="sendEmail(lic)"><span class="glyphicon glyphicon-send"></span> <span i18n>Send email</span></a></li>
+ <li ng-if="isActionVisible(16, lic)"><a ng-click="deleteLicense(lic)"><span class="glyphicon glyphicon-remove"></span> <span i18n>Remove</span></a></li>
</ul>
</div>
</td>
--
Gitblit v1.3.2