diff --git a/wwwroot/default.htm b/wwwroot/default.htm
index 2324d74..037b398 100644
--- a/wwwroot/default.htm
+++ b/wwwroot/default.htm
@@ -73,6 +73,7 @@
+
diff --git a/wwwroot/js/app.customerSiteEdit.js b/wwwroot/js/app.customerSiteEdit.js
index 19c1599..cc27dd5 100644
--- a/wwwroot/js/app.customerSiteEdit.js
+++ b/wwwroot/js/app.customerSiteEdit.js
@@ -164,6 +164,7 @@ app.customerSiteEdit = (function () {
if (stateMap.id != "new") {
app.nav.contextAddLink("purchases/" + stateMap.id, "Purchases", "basket");
+ app.nav.contextAddLink("ravLicenses/" + stateMap.id, "Licenses", "ticket");//from here to new license
}
};
diff --git a/wwwroot/js/app.ravLicenses.js b/wwwroot/js/app.ravLicenses.js
new file mode 100644
index 0000000..b4f5d2f
--- /dev/null
+++ b/wwwroot/js/app.ravLicenses.js
@@ -0,0 +1,108 @@
+/*jslint browser : true, continue : true,
+ devel : true, indent : 2, maxerr : 50,
+ newcap : true, nomen : true, plusplus : true,
+ regexp : true, sloppy : true, vars : false,
+ white : true
+*/
+
+/*global $, app */
+
+app.ravLicenses = (function() {
+ "use strict";
+ //---------------- BEGIN MODULE SCOPE VARIABLES --------------
+ var stateMap = {},
+ configModule,
+ initModule;
+ //----------------- END MODULE SCOPE VARIABLES ---------------
+
+ //------------------- BEGIN UTILITY METHODS ------------------
+
+ //-------------------- END UTILITY METHODS -------------------
+
+ //------------------- BEGIN EVENT HANDLERS -------------------
+
+ //-------------------- END EVENT HANDLERS --------------------
+
+ //------------------- BEGIN PUBLIC METHODS -------------------
+ //CONFIGMODULE
+ //
+ configModule = function(context) {
+ stateMap.context = context.context;
+ if (stateMap.context.params.id) {
+ stateMap.id = stateMap.context.params.id;//siteid
+ }
+ };
+
+ //INITMODULE
+ //
+ initModule = function($container) {
+ if (typeof $container === "undefined") {
+ $container = $("#app-shell-main-content");
+ }
+ $container.html(Handlebars.templates["app.ravLicenses"]({}));
+
+ //case 3513
+ document.title = "Licenses";
+
+ //===================
+ //Get licenses
+ app.api.get("rvl/list/"+ stateMap.id, function(res) {
+ if (res.error) {
+ $.gevent.publish("app-show-error", res.msg);
+ } else {
+ var $appList = $("#rf-list");
+
+ $appList.append('
");
+ }
+ });
+ //=========/licenses==============
+
+ app.nav.contextClear();
+ };
+
+ //PUBLIC METHODS
+ //
+ return {
+ configModule: configModule,
+ initModule: initModule
+ };
+ //------------------- END PUBLIC METHODS ---------------------
+})();
diff --git a/wwwroot/js/app.shell.js b/wwwroot/js/app.shell.js
index 6aaa128..a4684dc 100644
--- a/wwwroot/js/app.shell.js
+++ b/wwwroot/js/app.shell.js
@@ -240,6 +240,7 @@ app.shell = (function () {
page('/ops', ops);
page('/trials', trials);
page('/trialEdit/:id', trialEdit);
+ page('/ravLicenses/:id/', ravLicenses);
page('/ravLicense/:id/:site_id', ravLicense);
page('*', notFound);
page({
@@ -586,6 +587,14 @@ app.shell = (function () {
app.ravLicense.initModule();
}
+ var ravLicenses = function (ctx) {
+ app.nav.setSelectedMenuItem('customers');
+ app.ravLicenses.configModule({
+ context: ctx
+ });
+ app.ravLicenses.initModule();
+ }
+
var notFound = function (ctx) {
app.fourohfour.configModule({
diff --git a/wwwroot/js/templates/app.ravLicenses.handlebars b/wwwroot/js/templates/app.ravLicenses.handlebars
new file mode 100644
index 0000000..28be4e5
--- /dev/null
+++ b/wwwroot/js/templates/app.ravLicenses.handlebars
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/wwwroot/js/templates/templates.js b/wwwroot/js/templates/templates.js
index 8e7d5ac..1a6fefb 100644
--- a/wwwroot/js/templates/templates.js
+++ b/wwwroot/js/templates/templates.js
@@ -1 +1 @@
-!function(){var n=Handlebars.template,e=Handlebars.templates=Handlebars.templates||{};e["app.authenticate"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n
Login \n
\n
'},useData:!0}),e["app.customerEdit"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.customers"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n
+- Active \n \n \n \n
\n\n\n
Lapsed \n \n \n
\n\n\n
\n +- Inactive \n \n \n\n
\n
'},useData:!0}),e["app.customerSiteEdit"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n \n
\n
\n
\n
\n State / Province \n \n
\n
\n
\n
\n Database type \n \n
\n
\n
\n
\n \n \n Legacy / AyaNova 7 \n
\n
\n
\n
\n Raven database Id \n \n
\n
\n \n
\n
\n \n \n Networked \n
\n
\n \n
\n
\n
\n \n
\n\n \n Save \n Delete \n
\n\n \n
'},useData:!0}),e["app.customerSites"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.fourohfour"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return"\n
404 NOT FOUND 404 \n"},useData:!0}),e["app.inbox"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.license"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n \n\n\n
\n\n
\n
\n \n AyaNova LITE \n
\n
\n
\n
\n License type \n \n New \n Renewal / Add-on \n Licensed trial \n Web requested trial \n \n
\n
\n
\n
\n Registered to \n \n
\n
\n\n\n
\n\n
\n
\n Email address \n \n
\n
\n\n\n
\n
\n Users \n \n 1 \n 5 \n 10 \n 15 \n 20 \n 50 \n 999 \n \n
\n
\n
\n\n
\n Support expires \n \n
\n
\n
\n
\n
\n\n
\n\n\n\n
\n
\n
\n
\n
\n
\n
\n\n
\n\n
\n\n\n\n\n\n \n\n
\n \n
'},useData:!0}),e["app.licenseRequestEdit"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n \n\n
\n
\n
\n Greeting message \n \n
\n
\n
\n
\n Keycode message \n \n
\n
\n\n
\n \n
'},useData:!0}),e["app.licenses"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.licenseTemplates"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n\n \n\n
\n
FULL KEY \n\n
\n New \n \n
\n
\n
\n
\n
\n Licensed Trial \n \n
\n
\n
\n
Full trial greeting \n\n
\n Greeting \n \n
\n\n
\n
\n\n
LITE KEY \n\n
\n Lite New \n \n
\n
\n
\n
\n Lite Add-On \n \n
\n
\n
\n
\n Lite Licensed Trial \n \n
\n
\n
\n
Lite trial greeting \n\n
\n Lite Greeting \n \n
\n
\n\n\n\n
\n\n\n \n Save \n
\n\n \n
'},useData:!0}),e["app.licenseView"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.mailEdit"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n \n Message \n \n
\n\n \n Send to \n \n
\n \n\n\n \n
'},useData:!0}),e["app.ops"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
Operations status \n
\n
\n
\n
\n \n Mail / mirror\n \n
\n
\n
\n
\n \n AyaNova site\n \n
\n
\n
\n
\n
\n \n Contact form\n \n
\n
\n
\n
\n \n Request form\n \n
\n
\n
\n
\n \n Request lite form\n \n
\n
\n
\n
\n
\n \n Subversion\n \n
\n
\n
\n
\n \n DevOps server\n \n
\n
\n
\n
\n \n API site\n \n
\n
\n\n
\n
'},useData:!0}),e["app.purchaseEdit"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n \n\n
\n
\n Product name \n \n
\n
\n
\n
\n Product code \n \n
\n
\n
\n
\n
\n Sales order number \n \n
\n
\n
\n
\n
\n
\n \n \n Renew notice sent \n
\n
\n
\n
\n Subscription expire \n \n
\n
\n
\n
\n Cancel date \n \n
\n
\n
\n
\n Coupon code \n \n
\n
\n
\n
\n ShareIt Order \n \n
\n
\n\n\n\n
\n \n Save \n Delete \n Renew \n
\n \n
'},useData:!0}),e["app.purchases"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.reportData"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.reportDataExpires"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n\n'},useData:!0}),e["app.reportDataProdEmail"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n \n
\n
Note: this will fetch all support and admin email addresses \n \n\n
\n Include \'Do not contact\' emails \n \n
\n\n
\n Products: \n
\n \n\n
\n\n
\n\n
\n\n \n
'},useData:!0}),e["app.rfcaseEdit"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n \n \n \n
\n\n \n\n
\n\n
\n\n\n
\n
\n Priority \n \n 1 \n 2 \n 3 \n 4 \n 5 \n \n
\n
\n\n\n
\n\n
\n\n
\n
\n Released in version \n \n
\n
\n\n
\n
\n Release notes \n \n
\n
\n\n\n\n\n\n\n
\n\n
\n\n \n Save \n Delete \n
\n\n \n\n\n\n
\n \n \n
Upload attachments:
\n
\n
\n \n \n\n
'},useData:!0}),e["app.rfcases"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n\n
\n\n\n
\n\n
\n\n
\n
\n Priority \n \n All \n 1 \n 2 \n 3 \n 4 \n 5 \n \n
\n
\n\n
\n\n
\n
\n \n\n\n'},useData:!0}),e["app.rfsettings"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.search"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.shell"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n \n \n \n\n \n \n\n\n\n'},useData:!0}),e["app.subnotify"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n\n'},useData:!0}),e["app.subscription"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.templateEdit"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n\n \n\n \n Save \n Delete \n
\n\n \n
'},useData:!0}),e["app.templates"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.trialEdit"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.trials"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0})}();
+!function(){var n=Handlebars.template,e=Handlebars.templates=Handlebars.templates||{};e["app.authenticate"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.customerEdit"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.customers"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n
+- Active \n \n \n \n
\n\n\n
Lapsed \n \n \n
\n\n\n
\n +- Inactive \n \n \n\n
\n
'},useData:!0}),e["app.customerSiteEdit"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n \n
\n
\n
\n
\n State / Province \n \n
\n
\n
\n
\n Database type \n \n
\n
\n
\n
\n \n \n Legacy / AyaNova 7 \n
\n
\n
\n
\n Raven database Id \n \n
\n
\n \n
\n
\n \n \n Networked \n
\n
\n \n
\n
\n
\n \n
\n\n \n Save \n Delete \n
\n\n \n
'},useData:!0}),e["app.customerSites"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.fourohfour"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return"\n
404 NOT FOUND 404 \n"},useData:!0}),e["app.inbox"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.license"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n \n\n\n
\n\n
\n
\n \n AyaNova LITE \n
\n
\n
\n
\n License type \n \n New \n Renewal / Add-on \n Licensed trial \n Web requested trial \n \n
\n
\n
\n
\n Registered to \n \n
\n
\n\n\n
\n\n
\n
\n Email address \n \n
\n
\n\n\n
\n
\n Users \n \n 1 \n 5 \n 10 \n 15 \n 20 \n 50 \n 999 \n \n
\n
\n
\n\n
\n Support expires \n \n
\n
\n
\n
\n
\n\n
\n\n\n\n
\n
\n
\n
\n
\n
\n
\n\n
\n\n
\n\n\n\n\n\n \n\n
\n \n
'},useData:!0}),e["app.licenseRequestEdit"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n \n\n
\n
\n
\n Greeting message \n \n
\n
\n
\n
\n Keycode message \n \n
\n
\n\n
\n \n
'},useData:!0}),e["app.licenses"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.licenseTemplates"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n\n \n\n
\n
FULL KEY \n\n
\n New \n \n
\n
\n
\n
\n
\n Licensed Trial \n \n
\n
\n
\n
Full trial greeting \n\n
\n Greeting \n \n
\n\n
\n
\n\n
LITE KEY \n\n
\n Lite New \n \n
\n
\n
\n
\n Lite Add-On \n \n
\n
\n
\n
\n Lite Licensed Trial \n \n
\n
\n
\n
Lite trial greeting \n\n
\n Lite Greeting \n \n
\n
\n\n\n\n
\n\n\n \n Save \n
\n\n \n
'},useData:!0}),e["app.licenseView"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.mailEdit"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n \n Message \n \n
\n\n \n Send to \n \n
\n \n\n\n \n
'},useData:!0}),e["app.ops"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
Operations status \n
\n
\n
\n
\n \n Mail / mirror\n \n
\n
\n
\n
\n \n AyaNova site\n \n
\n
\n
\n
\n
\n \n Contact form\n \n
\n
\n
\n
\n \n Request form\n \n
\n
\n
\n
\n \n Request lite form\n \n
\n
\n
\n
\n
\n \n Subversion\n \n
\n
\n
\n
\n \n DevOps server\n \n
\n
\n
\n
\n \n API site\n \n
\n
\n\n
\n
'},useData:!0}),e["app.purchaseEdit"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n \n\n
\n
\n Product name \n \n
\n
\n
\n
\n Product code \n \n
\n
\n
\n
\n
\n Sales order number \n \n
\n
\n
\n
\n
\n
\n \n \n Renew notice sent \n
\n
\n
\n
\n Subscription expire \n \n
\n
\n
\n
\n Cancel date \n \n
\n
\n
\n
\n Coupon code \n \n
\n
\n
\n
\n ShareIt Order \n \n
\n
\n\n\n\n
\n \n Save \n Delete \n Renew \n
\n \n
'},useData:!0}),e["app.purchases"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.ravLicense"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n \n\n
\n\n
\n
\n Registered to \n \n
\n
\n\n
\n\n
\n
\n Support expires \n \n
\n
\n\n
\n\n
\n
\n Scheduleable users \n \n
\n
\n\n
\n
\n Additional features \n \n Rental Key \n Accounting \n \n
\n
\n\n\n
\n\n \n\n
\n \n
'},useData:!0}),e["app.reportData"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.reportDataExpires"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n\n'},useData:!0}),e["app.reportDataProdEmail"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n \n
\n
Note: this will fetch all support and admin email addresses \n \n\n
\n Include \'Do not contact\' emails \n \n
\n\n
\n Products: \n
\n \n\n
\n\n
\n\n
\n\n \n
'},useData:!0}),e["app.rfcaseEdit"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n \n \n \n
\n\n \n\n
\n\n
\n\n\n
\n
\n Priority \n \n 1 \n 2 \n 3 \n 4 \n 5 \n \n
\n
\n\n\n
\n\n
\n\n
\n
\n Released in version \n \n
\n
\n\n
\n
\n Release notes \n \n
\n
\n\n\n\n\n\n\n
\n\n
\n\n \n Save \n Delete \n
\n\n \n\n\n\n
\n \n \n
Upload attachments:
\n
\n
\n \n \n\n
'},useData:!0}),e["app.rfcases"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n\n
\n\n\n
\n\n
\n\n
\n
\n Priority \n \n All \n 1 \n 2 \n 3 \n 4 \n 5 \n \n
\n
\n\n
\n\n
\n
\n \n\n\n'},useData:!0}),e["app.rfsettings"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.search"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.shell"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n \n \n \n\n \n \n\n\n\n'},useData:!0}),e["app.subnotify"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n\n'},useData:!0}),e["app.subscription"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.templateEdit"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return'\n
\n\n \n\n \n Save \n Delete \n
\n\n \n
'},useData:!0}),e["app.templates"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.trialEdit"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0}),e["app.trials"]=n({compiler:[8,">= 4.3.0"],main:function(n,e,a,l,i){return''},useData:!0})}();