@model Disco.Web.Areas.Config.Models.DocumentTemplate.ShowPackageModel @using Disco.Services.Interop.ActiveDirectory; @{ Authorization.Require(Claims.Config.DocumentTemplate.Show); var canConfig = Authorization.Has(Claims.Config.DocumentTemplate.Configure); var hideAdvanced = Model.Package.FilterExpression == null && Model.Package.OnGenerateExpression == null; #region Can Bulk Generate var canBulkGenerate = Authorization.Has(Claims.Config.DocumentTemplate.BulkGenerate); if (canBulkGenerate) { switch (Model.Package.Scope) { case AttachmentTypes.Device: canBulkGenerate = Authorization.Has(Claims.Device.Actions.GenerateDocuments); break; case AttachmentTypes.Job: canBulkGenerate = Authorization.Has(Claims.Job.Actions.GenerateDocuments); break; case AttachmentTypes.User: canBulkGenerate = Authorization.Has(Claims.User.Actions.GenerateDocuments); break; default: throw new InvalidOperationException("Invalid Package Scope"); } } #endregion ViewBag.Title = Html.ToBreadcrumb("Configuration", MVC.Config.Config.Index(), "Document Templates", MVC.Config.DocumentTemplate.Index(null), "Package: " + Model.Package.Description); if (canConfig) { Html.BundleDeferred("~/ClientScripts/Modules/Disco-PropertyChangeHelpers"); } }
| Id: |
@Html.DisplayFor(model => model.Package.Id)
|
|---|---|
| Description: | @if (canConfig) { @Html.TextBoxFor(model => model.Package.Description) @AjaxHelpers.AjaxSave() @AjaxHelpers.AjaxLoader() } else { if (string.IsNullOrEmpty(Model.Package.Description)) { <None Specified> } else { @Model.Package.Description } } |
|
@if (canConfig)
{
@AjaxHelpers.AjaxLoader()
}
else
{
}
If selected the package will not appear in the list of documents to generate. |
|
|
@if (canConfig)
{
@AjaxHelpers.AjaxLoader()
}
else
{
}
If selected blank pages will be inserted to ensure each of the individual documents within the package appear on separate pages when using duplex printing. |
|
| Scope: |
@Model.Package.Scope ScopeThis package is generated from @(Model.Package.Scope)s. Any expressions within the Document Template PDF will be evaluated within the @(Model.Package.Scope) Scope.
@using (Html.BeginForm(MVC.API.DocumentTemplatePackage.UpdateScope(Model.Package.Id, redirect: true)))
{
}
@if (Model.Package.Scope == AttachmentTypes.Job)
{
If changed, all Document Templates will be unassociated with this Package. Job Type Filters:
@if (Model.Package.JobSubTypes != null && Model.Package.JobSubTypes.Count > 0)
{
@if (canConfig)
{
Update
@using (Html.BeginForm(MVC.API.DocumentTemplatePackage.UpdateJobSubTypes(Model.Package.Id, null, true)))
{
var selectedTypes = Model.JobSubTypesSelected.Select(jst => jst.JobType).Distinct().ToList();
foreach (var jt in Model.JobTypes)
{
}
@CommonHelpers.CheckboxBulkSelect(string.Format("CheckboxBulkSelect_{0}", jt.Id), "div")
@CommonHelpers.CheckBoxList("JobSubTypes", jt.JobSubTypes.OrderBy(jst => jst.Description).ToSelectListItems(Model.Package.JobSubTypes), 2)
|
| Document Templates: |
@if (Model.DocumentTemplatesSelected.Count == 0)
{
The package has no associated Document Templates and cannot be generated.
The package will be generated with the above Document Templates in the order they appear. Package Templates@using (Html.BeginForm(MVC.API.DocumentTemplatePackage.UpdateDocumentTemplates(Model.Package.Id, redirect: true))) {
Include Document Templates by drag them from the list of Available Templates. Reorder Document Templates by dragging them within the list. Available Templates
|
| Filter Expression: |
@if (canConfig && Authorization.Has(Claims.Config.DocumentTemplate.ConfigureFilterExpression))
{
@Html.EditorFor(model => Model.Package.FilterExpression)
@AjaxHelpers.AjaxRemove()
@AjaxHelpers.AjaxSave()
@AjaxHelpers.AjaxLoader()
}
else
{
if (string.IsNullOrWhiteSpace(Model.Package.FilterExpression))
{
<None Specified>
}
else
{
@Model.Package.FilterExpression
}
}
This expression will be evaluated to determine if this package is shown in the Generate Document drop-down list. If the template is hidden (see above) this expression is ignored. |
|---|---|
| On Generated Expression: |
@if (canConfig && Authorization.Has(Claims.Config.DocumentTemplate.ConfigureFilterExpression))
{
@Html.EditorFor(model => Model.Package.OnGenerateExpression)
@AjaxHelpers.AjaxRemove()
@AjaxHelpers.AjaxSave()
@AjaxHelpers.AjaxLoader()
}
else
{
if (string.IsNullOrWhiteSpace(Model.Package.OnGenerateExpression))
{
<None Specified>
}
else
{
@Model.Package.OnGenerateExpression
}
}
This expression will be evaluated each time the package is generated. |
This item will be permanently deleted.
Are you sure?
<new line>, commas (,) or semicolons (;).
<new line>, commas (,) or semicolons (;).
<new line>, commas (,) or semicolons (;).