This commit is contained in:
2020-06-13 00:10:10 +00:00
parent 7b452670f0
commit 29effecb75
3 changed files with 127 additions and 119 deletions

View File

@@ -76,7 +76,8 @@ namespace rockfishCore.Controllers
return NotFound(); return NotFound();
//DO APPROVE //DO APPROVE
//check not already processed and ignore if so //check not already processed and ignore if so
if(trial.DtProcessed!=null){ if (trial.DtProcessed != null)
{
//already processed, nothing to do here //already processed, nothing to do here
return BadRequest("Already processed"); return BadRequest("Already processed");
} }
@@ -97,7 +98,7 @@ namespace rockfishCore.Controllers
} }
//Reject //Reject
[HttpPost("reject/{id}")] [HttpPost("reject/{id}")]
public async Task<IActionResult> RejectTrial([FromRoute] long id, [FromQuery] string rejectReason) public async Task<IActionResult> RejectTrial([FromRoute] long id, [FromQuery] string rejectReason)
{ {
@@ -108,24 +109,26 @@ namespace rockfishCore.Controllers
return NotFound(); return NotFound();
//DO REJECT //DO REJECT
//check not already processed and ignore if so //check not already processed and ignore if so
if(trial.DtProcessed!=null){ if (trial.DtProcessed != null)
{
//already processed, nothing to do here //already processed, nothing to do here
return BadRequest("Already processed"); return BadRequest("Already processed");
} }
//generate license key and insert in record //generate license key and insert in record
trial.RejectReason=rejectReason; trial.RejectReason = rejectReason;
trial.Status = TrialRequest.TrialRequestStatus.Rejected; trial.Status = TrialRequest.TrialRequestStatus.Rejected;
trial.DtProcessed = DateUtil.NowAsEpoch(); trial.DtProcessed = DateUtil.NowAsEpoch();
await ct.SaveChangesAsync(); await ct.SaveChangesAsync();
//send approved email to user //send approved email to user
string reason=string.Empty; string reason = string.Empty;
if(!string.IsNullOrWhiteSpace(rejectReason)){ if (!string.IsNullOrWhiteSpace(rejectReason))
reason=$"The request was rejected due to:\r\n{rejectReason}"; {
reason = $"The request was rejected due to:\r\n{rejectReason}";
} }
var body = $"Your trial license request was not approved.\r\n{reason}"; var body = $"Your trial license request was not approved.\r\n{reason}";
//send confirmation email //send confirmation email
RfMail.SendMessage("support@ayanova.com", trial.Email, "AyaNova trial request approved", body, false); RfMail.SendMessage("support@ayanova.com", trial.Email, "AyaNova trial request not approved", body, false);
return Ok(trial); return Ok(trial);

View File

@@ -22,6 +22,7 @@ app.api = (function () {
update, update,
uploadFile, uploadFile,
putAction, putAction,
postAction,
createLicense, createLicense,
getLicenseRequests, getLicenseRequests,
generateFromRequest, generateFromRequest,
@@ -73,7 +74,7 @@ app.api = (function () {
error: function (jqXHR, textStatus, errorThrown) { error: function (jqXHR, textStatus, errorThrown) {
callback({ callback({
error: 1, error: 1,
msg: textStatus + "\n" + errorThrown, msg: textStatus + "\n" + jqXHR.responseText + "\n" + errorThrown,
error_detail: {} error_detail: {}
}); });
} }
@@ -96,7 +97,7 @@ app.api = (function () {
error: function (jqXHR, textStatus, errorThrown) { error: function (jqXHR, textStatus, errorThrown) {
callback({ callback({
error: 1, error: 1,
msg: textStatus + "\n" + errorThrown, msg: textStatus + "\n" + jqXHR.responseText + "\n" + errorThrown,
error_detail: {} error_detail: {}
}); });
} }
@@ -135,7 +136,7 @@ app.api = (function () {
error: function (jqXHR, textStatus, errorThrown) { error: function (jqXHR, textStatus, errorThrown) {
callback({ callback({
error: 1, error: 1,
msg: textStatus + "\n" + errorThrown, msg: textStatus + "\n" + jqXHR.responseText + "\n" + errorThrown,
error_detail: {} error_detail: {}
}); });
} }
@@ -156,7 +157,7 @@ app.api = (function () {
error: function (jqXHR, textStatus, errorThrown) { error: function (jqXHR, textStatus, errorThrown) {
callback({ callback({
error: 1, error: 1,
msg: textStatus + "\n" + errorThrown, msg: textStatus + "\n" + jqXHR.responseText + "\n" + errorThrown,
error_detail: {} error_detail: {}
}); });
} }
@@ -210,7 +211,7 @@ app.api = (function () {
error: function (jqXHR, textStatus, errorThrown) { error: function (jqXHR, textStatus, errorThrown) {
callback({ callback({
error: 1, error: 1,
msg: textStatus + "\n" + errorThrown, msg: textStatus + "\n" + jqXHR.responseText + "\n" + errorThrown,
error_detail: {} error_detail: {}
}); });
} }
@@ -237,7 +238,7 @@ app.api = (function () {
error: function (jqXHR, textStatus, errorThrown) { error: function (jqXHR, textStatus, errorThrown) {
callback({ callback({
error: 1, error: 1,
msg: textStatus + "\n" + errorThrown, msg: textStatus + "\n" + jqXHR.responseText + "\n" + errorThrown,
error_detail: {} error_detail: {}
}); });
} }

View File

@@ -8,128 +8,132 @@
/*global $, app */ /*global $, app */
app.trialEdit = (function () { app.trialEdit = (function () {
'use strict'; "use strict";
//---------------- BEGIN MODULE SCOPE VARIABLES -------------- //---------------- BEGIN MODULE SCOPE VARIABLES --------------
var var stateMap = {},
stateMap = {}, onApprove,
onApprove, onReject, onDelete, onReject,
configModule, initModule; onDelete,
//----------------- END MODULE SCOPE VARIABLES --------------- configModule,
initModule;
//----------------- END MODULE SCOPE VARIABLES ---------------
//------------------- BEGIN EVENT HANDLERS -------------------
//------------------- BEGIN EVENT HANDLERS ------------------- //ONAPPROVE
//
onApprove = function (event) {
event.preventDefault();
$.gevent.publish("app-clear-error");
//ONAPPROVE app.api.postAction("trial/approve/" + stateMap.id, function (res) {
// if (res.error) {
onApprove = function (event) { $.gevent.publish("app-show-error", res.msg);
event.preventDefault(); } else {
$.gevent.publish('app-clear-error'); app.utilB.formData(res);
}
var isFetched=$('#fetched').prop('checked') });
return false; //prevent default?
app.api.postAction('trial/fetched/' + stateMap.id + "/" + isFetched, function (res) { };
if (res.error) {
$.gevent.publish('app-show-error', res.msg);
}
});
return false; //prevent default? //ONREJECT
}; //
onReject = function (event) {
//ONREJECT event.preventDefault();
// $.gevent.publish("app-clear-error");
onReject = function (event) {
event.preventDefault();
$.gevent.publish('app-clear-error');
var isFetched=$('#fetched').prop('checked')
// var submitData = { isFetched: isFetched };
app.api.putAction('trial/fetched/' + stateMap.id + "/" + isFetched, function (res) {
if (res.error) {
$.gevent.publish('app-show-error', res.msg);
}
});
return false; //prevent default?
};
//ONDELETE
//
onDelete = function (event) {
event.preventDefault();
$.gevent.publish('app-clear-error');
var r = confirm("Are you sure you want to delete this record?");
if (r == true) {
app.api.remove('trial/' + stateMap.id, function (res) {
if (res.error) {
$.gevent.publish('app-show-error', res.msg);
} else {
page('#!/trials');
return false;
}
});
var reason = $("#rejectReason").val();
if (reason) {
reason = "?rejectReason=" + reason;
}
var r = confirm("Are you sure you want to reject this request?");
if (r == true) {
app.api.postAction("trial/reject/" + stateMap.id + reason, function (
res
) {
if (res.error) {
$.gevent.publish("app-show-error", res.msg);
} else { } else {
return false; app.utilB.formData(res);
} }
return false; //prevent default? });
}; } else {
return false;
}
return false; //prevent default?
};
//-------------------- END EVENT HANDLERS -------------------- //ONDELETE
//
//------------------- BEGIN PUBLIC METHODS ------------------- onDelete = function (event) {
event.preventDefault();
$.gevent.publish("app-clear-error");
//CONFIGMODULE var r = confirm("Are you sure you want to delete this record?");
// if (r == true) {
configModule = function (context) { app.api.remove("trial/" + stateMap.id, function (res) {
stateMap.context = context.context; if (res.error) {
if (stateMap.context.params.id) { $.gevent.publish("app-show-error", res.msg);
stateMap.id = stateMap.context.params.id; } else {
page("#!/trials");
return false;
} }
}; });
} else {
return false;
}
return false; //prevent default?
};
//INITMODULE //-------------------- END EVENT HANDLERS --------------------
//
initModule = function ($container) {
if (typeof $container === 'undefined') {
$container = $('#app-shell-main-content');
}
$container.html(Handlebars.templates['app.trialEdit']({})); //------------------- BEGIN PUBLIC METHODS -------------------
document.title = 'trial '; //CONFIGMODULE
//
configModule = function (context) {
stateMap.context = context.context;
if (stateMap.context.params.id) {
stateMap.id = stateMap.context.params.id;
}
};
//fetch existing record //INITMODULE
app.api.get('trial/' + stateMap.id, function (res) { //
if (res.error) { initModule = function ($container) {
$.gevent.publish('app-show-error', res.msg); if (typeof $container === "undefined") {
} else { $container = $("#app-shell-main-content");
//fill out form }
app.utilB.formData(res);
}
});
//Context menu
app.nav.contextClear();
app.nav.contextAddLink("trials/", "List", "");
$container.html(Handlebars.templates["app.trialEdit"]({}));
document.title = "trial ";
// bind actions //fetch existing record
$('#btn-save').bind('click', onSave); app.api.get("trial/" + stateMap.id, function (res) {
$('#btn-delete').bind('click', onDelete); if (res.error) {
}; $.gevent.publish("app-show-error", res.msg);
} else {
//fill out form
app.utilB.formData(res);
}
});
//Context menu
app.nav.contextClear();
app.nav.contextAddLink("trials/", "List", "");
// bind actions
$("#btn-reject").bind("click", onReject);
$("#btn-approve").bind("click", onApprove);
$("#btn-delete").bind("click", onDelete);
};
// RETURN PUBLIC METHODS // RETURN PUBLIC METHODS
// //
return { return {
configModule: configModule, configModule: configModule,
initModule: initModule initModule: initModule
}; };
//------------------- END PUBLIC METHODS --------------------- //------------------- END PUBLIC METHODS ---------------------
}()); })();