support user details category in document bulk generation
This commit is contained in:
@@ -1113,6 +1113,60 @@ namespace Disco.Web.Areas.API.Controllers
|
|||||||
return Json(results);
|
return Json(results);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[DiscoAuthorizeAll(Claims.Config.DocumentTemplate.BulkGenerate, Claims.User.Actions.GenerateDocuments, Claims.User.ShowDetails)]
|
||||||
|
[HttpPost, ValidateAntiForgeryToken]
|
||||||
|
public virtual ActionResult BulkGenerateGetUserDetailValues(string key)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(key))
|
||||||
|
return new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest);
|
||||||
|
|
||||||
|
var results = Database.UserDetails.Where(d => d.Scope == "Details" && d.Key == key).Select(d => d.Value).Distinct().ToList();
|
||||||
|
|
||||||
|
return Json(results);
|
||||||
|
}
|
||||||
|
|
||||||
|
[DiscoAuthorizeAll(Claims.Config.DocumentTemplate.BulkGenerate, Claims.User.Actions.GenerateDocuments, Claims.User.ShowDetails)]
|
||||||
|
[HttpPost, ValidateAntiForgeryToken, ValidateInput(false)]
|
||||||
|
public virtual ActionResult BulkGenerateAddUserDetail(string key, string value)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(key))
|
||||||
|
return new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest);
|
||||||
|
|
||||||
|
var results = new List<BulkGenerateUserModel>();
|
||||||
|
|
||||||
|
var query = Database.UserDetails.Include(d => d.User).Where(d => d.Scope == "Details" && d.Key == key);
|
||||||
|
if (!string.IsNullOrWhiteSpace(value))
|
||||||
|
{
|
||||||
|
query = query.Where(d => d.Value == value);
|
||||||
|
}
|
||||||
|
var details = query.ToList();
|
||||||
|
|
||||||
|
if (details.Count == 0)
|
||||||
|
{
|
||||||
|
results.Add(new BulkGenerateUserModel()
|
||||||
|
{
|
||||||
|
Id = key,
|
||||||
|
DisplayName = $"{key}{(string.IsNullOrWhiteSpace(value) ? null : $":{value}")}",
|
||||||
|
Scope = $"User Detail '{key}' didn't match any users{(string.IsNullOrWhiteSpace(value) ? null : $" with the value '{value}'")}",
|
||||||
|
IsError = true,
|
||||||
|
});
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
foreach (var user in details.Select(d => d.User).Distinct())
|
||||||
|
{
|
||||||
|
results.Add(new BulkGenerateUserModel()
|
||||||
|
{
|
||||||
|
Id = user.UserId,
|
||||||
|
DisplayName = user.DisplayName,
|
||||||
|
Scope = $"User Detail '{key}'{(string.IsNullOrWhiteSpace(value) ? null : $" with the value '{value}'")} Matches User",
|
||||||
|
IsError = false,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return Json(results);
|
||||||
|
}
|
||||||
|
|
||||||
public virtual ActionResult Generate(string id, string TargetId)
|
public virtual ActionResult Generate(string id, string TargetId)
|
||||||
{
|
{
|
||||||
Disco.Services.DocumentTemplateExtensions.GetTemplateAndTarget(Database, Authorization, id, TargetId, out var template, out var target, out _);
|
Disco.Services.DocumentTemplateExtensions.GetTemplateAndTarget(Database, Authorization, id, TargetId, out var template, out var target, out _);
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ using Disco.Web.Areas.Config.Models.DocumentTemplate;
|
|||||||
using Disco.Web.Areas.Config.Views.DocumentTemplate;
|
using Disco.Web.Areas.Config.Views.DocumentTemplate;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics.Eventing.Reader;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
|
|
||||||
@@ -262,6 +263,18 @@ namespace Disco.Web.Areas.Config.Controllers
|
|||||||
throw new NotSupportedException();
|
throw new NotSupportedException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (Authorization.Has(Claims.User.ShowDetails))
|
||||||
|
{
|
||||||
|
m.UserDetails = Database.UserDetails.Where(d => d.Scope == "Details").GroupBy(d => d.Key).Select(g => new BulkGenerateModel.ItemWithCount<string>()
|
||||||
|
{
|
||||||
|
Item = g.Key,
|
||||||
|
Count = g.Count(),
|
||||||
|
}).ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m.UserDetails = new List<BulkGenerateModel.ItemWithCount<string>>();
|
||||||
|
}
|
||||||
|
|
||||||
// UI Extensions
|
// UI Extensions
|
||||||
UIExtensions.ExecuteExtensions<ConfigDocumentTemplateBulkGenerate>(ControllerContext, m);
|
UIExtensions.ExecuteExtensions<ConfigDocumentTemplateBulkGenerate>(ControllerContext, m);
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ namespace Disco.Web.Areas.Config.Models.DocumentTemplate
|
|||||||
public List<ItemWithCount<Disco.Models.Repository.DeviceProfile>> DeviceProfiles { get; set; }
|
public List<ItemWithCount<Disco.Models.Repository.DeviceProfile>> DeviceProfiles { get; set; }
|
||||||
public List<ItemWithCount<Disco.Models.Repository.DeviceBatch>> DeviceBatches { get; set; }
|
public List<ItemWithCount<Disco.Models.Repository.DeviceBatch>> DeviceBatches { get; set; }
|
||||||
public List<ItemWithCount<Disco.Models.Repository.DocumentTemplate>> DocumentTemplates { get; set; }
|
public List<ItemWithCount<Disco.Models.Repository.DocumentTemplate>> DocumentTemplates { get; set; }
|
||||||
|
public List<ItemWithCount<string>> UserDetails { get; set; }
|
||||||
|
|
||||||
public class ItemWithCount<T>
|
public class ItemWithCount<T>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -37,6 +37,10 @@
|
|||||||
{
|
{
|
||||||
<button id="AddDocumentAttachment" class="button small">Add With Document Attachment</button>
|
<button id="AddDocumentAttachment" class="button small">Add With Document Attachment</button>
|
||||||
}
|
}
|
||||||
|
@if (Model.UserDetails.Any(b => b.Count > 0))
|
||||||
|
{
|
||||||
|
<button id="AddUserDetail" class="button small">Add With User Detail</button>
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
<table class="genericData">
|
<table class="genericData">
|
||||||
<thead>
|
<thead>
|
||||||
@@ -207,3 +211,39 @@
|
|||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@if (Model.UserDetails.Any(b => b.Count > 0))
|
||||||
|
{
|
||||||
|
<div id="DocumentTemplate_BulkGenerate_Dialog_AddUserDetail" class="dialog dialog-bulk-generate" title="@(Model.DocumentTemplate.Description): Add User by Detail">
|
||||||
|
<div class="brief">
|
||||||
|
<div>
|
||||||
|
Add all users with a matching user detail to the bulk generation.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@using (Html.BeginForm(MVC.API.DocumentTemplate.BulkGenerateAddUserDetail(), FormMethod.Post))
|
||||||
|
{
|
||||||
|
<input name="key" type="hidden" required />
|
||||||
|
<input name="value" type="hidden" />
|
||||||
|
|
||||||
|
<div id="DocumentTemplate_BulkGenerate_Dialog_AddUserDetail_Key" class="dialog-item-picker" style="width: 49%; float: left;">
|
||||||
|
@foreach (var key in Model.UserDetails)
|
||||||
|
{
|
||||||
|
<div class="item @(key.Count == 0 ? "disabled" : null)" data-id="@key.Item">
|
||||||
|
<i class="fa fa-info fa-fw fa-lg"></i>@key.Item.TrimEnd('*', '&') <small>(@key.Count.ToString("N0") user@(key.Count == 1 ? null : "s"))</small>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@Html.AntiForgeryToken()
|
||||||
|
}
|
||||||
|
@using (Html.BeginForm(MVC.API.DocumentTemplate.BulkGenerateGetUserDetailValues(), FormMethod.Post))
|
||||||
|
{
|
||||||
|
<input name="key" type="hidden" required />
|
||||||
|
|
||||||
|
<div id="DocumentTemplate_BulkGenerate_Dialog_AddUserDetail_Value" class="dialog-item-picker" style="width: 49%; float: left; margin-left: 1%;">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@Html.AntiForgeryToken()
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -476,4 +476,107 @@ $(() => {
|
|||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let dialogAddUserDetail = null;
|
||||||
|
$('#AddUserDetail').click(e => {
|
||||||
|
e.preventDefault();
|
||||||
|
let dialog = dialogAddUserDetail;
|
||||||
|
if (!dialog) {
|
||||||
|
const action = delegate => {
|
||||||
|
const form = dialog.find('form')[0];
|
||||||
|
const key = $(form).find('input[name="key"]');
|
||||||
|
if (key.val()) {
|
||||||
|
if (form.reportValidity()) {
|
||||||
|
const body = new FormData(form);
|
||||||
|
fetch(form.action, {
|
||||||
|
method: 'POST',
|
||||||
|
body: body
|
||||||
|
})
|
||||||
|
.then(r => r.json())
|
||||||
|
.then(r => {
|
||||||
|
delegate(r);
|
||||||
|
key.val('');
|
||||||
|
$(form).find('input[name="value"]').val('');
|
||||||
|
$('#DocumentTemplate_BulkGenerate_Dialog_AddUserDetail_Value').empty();
|
||||||
|
dialog.find('div.item').removeClass('selected');
|
||||||
|
dialog.dialog("close");
|
||||||
|
dialog.dialog("enable");
|
||||||
|
})
|
||||||
|
.catch(reason => {
|
||||||
|
alert('Failed to validate user detail: ' + reason);
|
||||||
|
});
|
||||||
|
dialog.dialog("disable");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dialog = $('#DocumentTemplate_BulkGenerate_Dialog_AddUserDetail').dialog({
|
||||||
|
resizable: false,
|
||||||
|
modal: true,
|
||||||
|
autoOpen: false,
|
||||||
|
width: 690,
|
||||||
|
buttons: {
|
||||||
|
"Exclude Matched Users": function () {
|
||||||
|
action(excludeUsers);
|
||||||
|
},
|
||||||
|
"Add Matched Users": function () {
|
||||||
|
action(addUsers);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
dialogAddUserDetail = dialog;
|
||||||
|
}
|
||||||
|
const $key = dialog.find('input[name="key"]');
|
||||||
|
const $value = dialog.find('input[name="value"]');
|
||||||
|
const $keys = dialog.find('#DocumentTemplate_BulkGenerate_Dialog_AddUserDetail_Key');
|
||||||
|
const $values = dialog.find('#DocumentTemplate_BulkGenerate_Dialog_AddUserDetail_Value');
|
||||||
|
$keys.on('click', 'div.item:not(.disabled)', e => {
|
||||||
|
e.preventDefault();
|
||||||
|
const $target = $(e.currentTarget);
|
||||||
|
const keyValue = $target.attr('data-id');
|
||||||
|
$key.val(keyValue);
|
||||||
|
$keys.find('div.item').removeClass('selected');
|
||||||
|
$target.addClass('selected');
|
||||||
|
|
||||||
|
$values.empty();
|
||||||
|
$values.append($('<i class="ajaxLoading" title="Loading"></i>'));
|
||||||
|
|
||||||
|
const form = dialog.find('form')[1];
|
||||||
|
const body = new FormData(form);
|
||||||
|
fetch(form.action, {
|
||||||
|
method: 'POST',
|
||||||
|
body: body
|
||||||
|
})
|
||||||
|
.then(r => r.json())
|
||||||
|
.then(r => {
|
||||||
|
$values.empty();
|
||||||
|
|
||||||
|
const allValues = $('<div class="item selected" data-id=""><i class="fa fa-info fa-fw fa-lg"></i><em>All Matched Users</em></div>');
|
||||||
|
allValues.appendTo($values);
|
||||||
|
$value.val('');
|
||||||
|
|
||||||
|
r.map(v => {
|
||||||
|
const container = $('<div class="item"><i class="fa fa-info fa-fw fa-lg"></i ></div>');
|
||||||
|
container.attr('data-id', v);
|
||||||
|
const span = $('<span>').text(v);
|
||||||
|
span.appendTo(container);
|
||||||
|
container.appendTo($values);
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch(reason => {
|
||||||
|
alert('Failed to validate user detail: ' + reason);
|
||||||
|
});
|
||||||
|
dialog.dialog("disable");
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$values.on('click', 'div.item:not(.disabled)', e => {
|
||||||
|
e.preventDefault();
|
||||||
|
const $target = $(e.currentTarget);
|
||||||
|
$value.val($target.attr('data-id'));
|
||||||
|
$values.find('div.item').removeClass('selected');
|
||||||
|
$target.addClass('selected');
|
||||||
|
});
|
||||||
|
dialog.dialog('open');
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
File diff suppressed because one or more lines are too long
+103
@@ -476,4 +476,107 @@
|
|||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let dialogAddUserDetail = null;
|
||||||
|
$('#AddUserDetail').click(e => {
|
||||||
|
e.preventDefault();
|
||||||
|
let dialog = dialogAddUserDetail;
|
||||||
|
if (!dialog) {
|
||||||
|
const action = delegate => {
|
||||||
|
const form = dialog.find('form')[0];
|
||||||
|
const key = $(form).find('input[name="key"]');
|
||||||
|
if (key.val()) {
|
||||||
|
if (form.reportValidity()) {
|
||||||
|
const body = new FormData(form);
|
||||||
|
fetch(form.action, {
|
||||||
|
method: 'POST',
|
||||||
|
body: body
|
||||||
|
})
|
||||||
|
.then(r => r.json())
|
||||||
|
.then(r => {
|
||||||
|
delegate(r);
|
||||||
|
key.val('');
|
||||||
|
$(form).find('input[name="value"]').val('');
|
||||||
|
$('#DocumentTemplate_BulkGenerate_Dialog_AddUserDetail_Value').empty();
|
||||||
|
dialog.find('div.item').removeClass('selected');
|
||||||
|
dialog.dialog("close");
|
||||||
|
dialog.dialog("enable");
|
||||||
|
})
|
||||||
|
.catch(reason => {
|
||||||
|
alert('Failed to validate user detail: ' + reason);
|
||||||
|
});
|
||||||
|
dialog.dialog("disable");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dialog = $('#DocumentTemplate_BulkGenerate_Dialog_AddUserDetail').dialog({
|
||||||
|
resizable: false,
|
||||||
|
modal: true,
|
||||||
|
autoOpen: false,
|
||||||
|
width: 690,
|
||||||
|
buttons: {
|
||||||
|
"Exclude Matched Users": function () {
|
||||||
|
action(excludeUsers);
|
||||||
|
},
|
||||||
|
"Add Matched Users": function () {
|
||||||
|
action(addUsers);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
dialogAddUserDetail = dialog;
|
||||||
|
}
|
||||||
|
const $key = dialog.find('input[name="key"]');
|
||||||
|
const $value = dialog.find('input[name="value"]');
|
||||||
|
const $keys = dialog.find('#DocumentTemplate_BulkGenerate_Dialog_AddUserDetail_Key');
|
||||||
|
const $values = dialog.find('#DocumentTemplate_BulkGenerate_Dialog_AddUserDetail_Value');
|
||||||
|
$keys.on('click', 'div.item:not(.disabled)', e => {
|
||||||
|
e.preventDefault();
|
||||||
|
const $target = $(e.currentTarget);
|
||||||
|
const keyValue = $target.attr('data-id');
|
||||||
|
$key.val(keyValue);
|
||||||
|
$keys.find('div.item').removeClass('selected');
|
||||||
|
$target.addClass('selected');
|
||||||
|
|
||||||
|
$values.empty();
|
||||||
|
$values.append($('<i class="ajaxLoading" title="Loading"></i>'));
|
||||||
|
|
||||||
|
const form = dialog.find('form')[1];
|
||||||
|
const body = new FormData(form);
|
||||||
|
fetch(form.action, {
|
||||||
|
method: 'POST',
|
||||||
|
body: body
|
||||||
|
})
|
||||||
|
.then(r => r.json())
|
||||||
|
.then(r => {
|
||||||
|
$values.empty();
|
||||||
|
|
||||||
|
const allValues = $('<div class="item selected" data-id=""><i class="fa fa-info fa-fw fa-lg"></i><em>All Matched Users</em></div>');
|
||||||
|
allValues.appendTo($values);
|
||||||
|
$value.val('');
|
||||||
|
|
||||||
|
r.map(v => {
|
||||||
|
const container = $('<div class="item"><i class="fa fa-info fa-fw fa-lg"></i ></div>');
|
||||||
|
container.attr('data-id', v);
|
||||||
|
const span = $('<span>').text(v);
|
||||||
|
span.appendTo(container);
|
||||||
|
container.appendTo($values);
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch(reason => {
|
||||||
|
alert('Failed to validate user detail: ' + reason);
|
||||||
|
});
|
||||||
|
dialog.dialog("disable");
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$values.on('click', 'div.item:not(.disabled)', e => {
|
||||||
|
e.preventDefault();
|
||||||
|
const $target = $(e.currentTarget);
|
||||||
|
$value.val($target.attr('data-id'));
|
||||||
|
$values.find('div.item').removeClass('selected');
|
||||||
|
$target.addClass('selected');
|
||||||
|
});
|
||||||
|
dialog.dialog('open');
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
@@ -217,6 +217,18 @@ namespace Disco.Web.Areas.API.Controllers
|
|||||||
}
|
}
|
||||||
[NonAction]
|
[NonAction]
|
||||||
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
|
public virtual System.Web.Mvc.ActionResult BulkGenerateGetUserDetailValues()
|
||||||
|
{
|
||||||
|
return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.BulkGenerateGetUserDetailValues);
|
||||||
|
}
|
||||||
|
[NonAction]
|
||||||
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
|
public virtual System.Web.Mvc.ActionResult BulkGenerateAddUserDetail()
|
||||||
|
{
|
||||||
|
return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.BulkGenerateAddUserDetail);
|
||||||
|
}
|
||||||
|
[NonAction]
|
||||||
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
public virtual System.Web.Mvc.ActionResult Generate()
|
public virtual System.Web.Mvc.ActionResult Generate()
|
||||||
{
|
{
|
||||||
return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.Generate);
|
return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.Generate);
|
||||||
@@ -282,6 +294,8 @@ namespace Disco.Web.Areas.API.Controllers
|
|||||||
public readonly string BulkGenerateAddDeviceProfile = "BulkGenerateAddDeviceProfile";
|
public readonly string BulkGenerateAddDeviceProfile = "BulkGenerateAddDeviceProfile";
|
||||||
public readonly string BulkGenerateAddDeviceBatch = "BulkGenerateAddDeviceBatch";
|
public readonly string BulkGenerateAddDeviceBatch = "BulkGenerateAddDeviceBatch";
|
||||||
public readonly string BulkGenerateAddDocumentAttachment = "BulkGenerateAddDocumentAttachment";
|
public readonly string BulkGenerateAddDocumentAttachment = "BulkGenerateAddDocumentAttachment";
|
||||||
|
public readonly string BulkGenerateGetUserDetailValues = "BulkGenerateGetUserDetailValues";
|
||||||
|
public readonly string BulkGenerateAddUserDetail = "BulkGenerateAddUserDetail";
|
||||||
public readonly string Generate = "Generate";
|
public readonly string Generate = "Generate";
|
||||||
public readonly string Delete = "Delete";
|
public readonly string Delete = "Delete";
|
||||||
public readonly string GenerateDocumentHandlerUi = "GenerateDocumentHandlerUi";
|
public readonly string GenerateDocumentHandlerUi = "GenerateDocumentHandlerUi";
|
||||||
@@ -318,6 +332,8 @@ namespace Disco.Web.Areas.API.Controllers
|
|||||||
public const string BulkGenerateAddDeviceProfile = "BulkGenerateAddDeviceProfile";
|
public const string BulkGenerateAddDeviceProfile = "BulkGenerateAddDeviceProfile";
|
||||||
public const string BulkGenerateAddDeviceBatch = "BulkGenerateAddDeviceBatch";
|
public const string BulkGenerateAddDeviceBatch = "BulkGenerateAddDeviceBatch";
|
||||||
public const string BulkGenerateAddDocumentAttachment = "BulkGenerateAddDocumentAttachment";
|
public const string BulkGenerateAddDocumentAttachment = "BulkGenerateAddDocumentAttachment";
|
||||||
|
public const string BulkGenerateGetUserDetailValues = "BulkGenerateGetUserDetailValues";
|
||||||
|
public const string BulkGenerateAddUserDetail = "BulkGenerateAddUserDetail";
|
||||||
public const string Generate = "Generate";
|
public const string Generate = "Generate";
|
||||||
public const string Delete = "Delete";
|
public const string Delete = "Delete";
|
||||||
public const string GenerateDocumentHandlerUi = "GenerateDocumentHandlerUi";
|
public const string GenerateDocumentHandlerUi = "GenerateDocumentHandlerUi";
|
||||||
@@ -571,6 +587,23 @@ namespace Disco.Web.Areas.API.Controllers
|
|||||||
public readonly string documentTemplateId = "documentTemplateId";
|
public readonly string documentTemplateId = "documentTemplateId";
|
||||||
public readonly string threshold = "threshold";
|
public readonly string threshold = "threshold";
|
||||||
}
|
}
|
||||||
|
static readonly ActionParamsClass_BulkGenerateGetUserDetailValues s_params_BulkGenerateGetUserDetailValues = new ActionParamsClass_BulkGenerateGetUserDetailValues();
|
||||||
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
|
public ActionParamsClass_BulkGenerateGetUserDetailValues BulkGenerateGetUserDetailValuesParams { get { return s_params_BulkGenerateGetUserDetailValues; } }
|
||||||
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
|
public class ActionParamsClass_BulkGenerateGetUserDetailValues
|
||||||
|
{
|
||||||
|
public readonly string key = "key";
|
||||||
|
}
|
||||||
|
static readonly ActionParamsClass_BulkGenerateAddUserDetail s_params_BulkGenerateAddUserDetail = new ActionParamsClass_BulkGenerateAddUserDetail();
|
||||||
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
|
public ActionParamsClass_BulkGenerateAddUserDetail BulkGenerateAddUserDetailParams { get { return s_params_BulkGenerateAddUserDetail; } }
|
||||||
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
|
public class ActionParamsClass_BulkGenerateAddUserDetail
|
||||||
|
{
|
||||||
|
public readonly string key = "key";
|
||||||
|
public readonly string value = "value";
|
||||||
|
}
|
||||||
static readonly ActionParamsClass_Generate s_params_Generate = new ActionParamsClass_Generate();
|
static readonly ActionParamsClass_Generate s_params_Generate = new ActionParamsClass_Generate();
|
||||||
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
public ActionParamsClass_Generate GenerateParams { get { return s_params_Generate; } }
|
public ActionParamsClass_Generate GenerateParams { get { return s_params_Generate; } }
|
||||||
@@ -1000,6 +1033,31 @@ namespace Disco.Web.Areas.API.Controllers
|
|||||||
return callInfo;
|
return callInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[NonAction]
|
||||||
|
partial void BulkGenerateGetUserDetailValuesOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, string key);
|
||||||
|
|
||||||
|
[NonAction]
|
||||||
|
public override System.Web.Mvc.ActionResult BulkGenerateGetUserDetailValues(string key)
|
||||||
|
{
|
||||||
|
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.BulkGenerateGetUserDetailValues);
|
||||||
|
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "key", key);
|
||||||
|
BulkGenerateGetUserDetailValuesOverride(callInfo, key);
|
||||||
|
return callInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
[NonAction]
|
||||||
|
partial void BulkGenerateAddUserDetailOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, string key, string value);
|
||||||
|
|
||||||
|
[NonAction]
|
||||||
|
public override System.Web.Mvc.ActionResult BulkGenerateAddUserDetail(string key, string value)
|
||||||
|
{
|
||||||
|
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.BulkGenerateAddUserDetail);
|
||||||
|
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "key", key);
|
||||||
|
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "value", value);
|
||||||
|
BulkGenerateAddUserDetailOverride(callInfo, key, value);
|
||||||
|
return callInfo;
|
||||||
|
}
|
||||||
|
|
||||||
[NonAction]
|
[NonAction]
|
||||||
partial void GenerateOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, string id, string TargetId);
|
partial void GenerateOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, string id, string TargetId);
|
||||||
|
|
||||||
|
|||||||
@@ -176,10 +176,7 @@ namespace Links
|
|||||||
public static readonly string livestamp_js = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(UrlPath + "/livestamp.min.js") ? Url("livestamp.min.js") : Url("livestamp.js");
|
public static readonly string livestamp_js = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(UrlPath + "/livestamp.min.js") ? Url("livestamp.min.js") : Url("livestamp.js");
|
||||||
public static readonly string livestamp_js_ = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(UrlPath + "/livestamp.min.js") ? Url("livestamp.min.js") : Url("livestamp.js");
|
public static readonly string livestamp_js_ = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(UrlPath + "/livestamp.min.js") ? Url("livestamp.min.js") : Url("livestamp.js");
|
||||||
public static readonly string modernizr_2_7_2_js = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(UrlPath + "/modernizr-2.7.2.min.js") ? Url("modernizr-2.7.2.min.js") : Url("modernizr-2.7.2.js");
|
public static readonly string modernizr_2_7_2_js = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(UrlPath + "/modernizr-2.7.2.min.js") ? Url("modernizr-2.7.2.min.js") : Url("modernizr-2.7.2.js");
|
||||||
public static readonly string moment_en_au_js = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(UrlPath + "/moment.en-au.min.js") ? Url("moment.en-au.min.js") : Url("moment.en-au.js");
|
public static readonly string moment_with_locales_js = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(UrlPath + "/moment-with-locales.min.js") ? Url("moment-with-locales.min.js") : Url("moment-with-locales.js");
|
||||||
public static readonly string moment_en_au_js_ = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(UrlPath + "/moment.en-au.min.js") ? Url("moment.en-au.min.js") : Url("moment.en-au.js");
|
|
||||||
public static readonly string moment_js = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(UrlPath + "/moment.min.js") ? Url("moment.min.js") : Url("moment.js");
|
|
||||||
public static readonly string moment_js_ = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(UrlPath + "/moment.min.js") ? Url("moment.min.js") : Url("moment.js");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static readonly string Core_js = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(UrlPath + "/Core.min.js") ? Url("Core.min.js") : Url("Core.js");
|
public static readonly string Core_js = T4MVCHelpers.IsProduction() && T4Extensions.FileExists(UrlPath + "/Core.min.js") ? Url("Core.min.js") : Url("Core.js");
|
||||||
@@ -915,10 +912,7 @@ namespace Links
|
|||||||
public const string livestamp_js = "~/ClientSource/Scripts/Core/livestamp.js";
|
public const string livestamp_js = "~/ClientSource/Scripts/Core/livestamp.js";
|
||||||
public const string livestamp_js_ = "~/ClientSource/Scripts/Core/livestamp.js";
|
public const string livestamp_js_ = "~/ClientSource/Scripts/Core/livestamp.js";
|
||||||
public const string modernizr_2_7_2_js = "~/ClientSource/Scripts/Core/modernizr-2.7.2.js";
|
public const string modernizr_2_7_2_js = "~/ClientSource/Scripts/Core/modernizr-2.7.2.js";
|
||||||
public const string moment_en_au_js = "~/ClientSource/Scripts/Core/moment.en-au.js";
|
public const string moment_with_locales_js = "~/ClientSource/Scripts/Core/moment-with-locales.js";
|
||||||
public const string moment_en_au_js_ = "~/ClientSource/Scripts/Core/moment.en-au.js";
|
|
||||||
public const string moment_js = "~/ClientSource/Scripts/Core/moment.js";
|
|
||||||
public const string moment_js_ = "~/ClientSource/Scripts/Core/moment.js";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public static partial class Modules
|
public static partial class Modules
|
||||||
|
|||||||
Reference in New Issue
Block a user