Is it possible to add invoice pdf editor ? So we can edit the pdf settings ? We need to add some text to the footer and change te size of the banner.
thanks!
@model ProductModel
@using Telerik.Web.Mvc.UI;
@if (Model.Id > 0)
{
<div>
@(Html.Telerik().Grid<ProductModel.ProductPictureModel>()
.Name("productpictures-grid")
.DataKeys(x =>
{
x.Add(y => y.Id).RouteKey("Id");
})
.Columns(columns =>
{
columns.Bound(x => x.PictureUrl)
.ClientTemplate("<a href='<#= PictureUrl #>' target='_blank'><img alt='<#= PictureId #>' src='<#= PictureUrl #>' width='150' /><a/>")
.ReadOnly();
columns.Bound(x => x.DisplayOrder);
columns.Command(commands =>
{
commands.Edit().Text(T("Admin.Common.Edit").Text);
commands.Delete().Text(T("Admin.Common.Delete").Text);
});
})
.Editable(x =>
{
x.Mode(GridEditMode.InLine);
})
.DataBinding(dataBinding =>
{
dataBinding.Ajax().Select("ProductPictureList", "Product", new { productId = Model.Id })
.Update("ProductPictureUpdate", "Product")
.Delete("ProductPictureDelete", "Product");
})
.EnableCustomBinding(true))
</div>
<p>
<strong>@T("Admin.Catalog.Products.Pictures.AddNew")</strong>
</p>
/*commented*/
@* <script type="text/javascript">
$(document).ready(function () {
$('#addProductPicture').click(function () {
var pictureId = $("#@Html.FieldIdFor(model => model.AddPictureModel.PictureId)").val();
var displayOrder = $("#@Html.FieldIdFor(model => model.AddPictureModel.DisplayOrder)").val();
if (pictureId == 0) {
alert('Upload picture first');
return;
}
$('#addProductPicture').attr('disabled', true);
$.ajax({
cache:false,
type: "POST",
url: "@(Url.Action("ProductPictureAdd", "Product"))",
data: { "pictureId": pictureId, "displayOrder": displayOrder, "productId": @Model.Id },
success: function (data) {
var productpicturesGrid = $("#productpictures-grid");
productpicturesGrid.data('tGrid').ajaxRequest();
$('#addProductPicture').attr('disabled', false);
},
error:function (xhr, ajaxOptions, thrownError){
alert('Failed to add product picture.');
$('#addProductPicture').attr('disabled', false);
}
});
});
});
</script>
<table class="adminContent">
<tr>
<td class="adminTitle">
@Html.NopLabelFor(model => model.AddPictureModel.PictureId):
</td>
<td class="adminData">
@Html.EditorFor(model => model.AddPictureModel.PictureId)
@Html.ValidationMessageFor(model => model.AddPictureModel.PictureId)
</td>
</tr>
<tr>
<td class="adminTitle">
@Html.NopLabelFor(model => model.AddPictureModel.DisplayOrder):
</td>
<td class="adminData">
@Html.EditorFor(model => model.AddPictureModel.DisplayOrder)
@Html.ValidationMessageFor(model => model.AddPictureModel.DisplayOrder)
</td>
</tr>
<tr>
<td colspan="2" align="left">
<input type="button" id="addProductPicture" class="t-button" value="@T("Admin.Catalog.Products.Pictures.AddButton")" />
</td>
</tr>
</table>*@
/*added*/
@Html.Partial("_ProductPicture", @Model.Id)
}
else
{
@T("Admin.Catalog.Products.Pictures.SaveBeforeEdit")
}
@model int
@using Nop.Core;
@using Nop.Web.Framework.UI;
@{
//register CSS and JS
Html.AddCssFileParts("~/Administration/Content/fileuploader.css");
Html.AddScriptParts("~/Administration/Scripts/fileuploader.js");
//other variables
var random = CommonHelper.GenerateRandomInteger();
var clientId = "picture" + random;
var pictureService = EngineContext.Current.Resolve<Nop.Services.Media.IPictureService>();
var picture = pictureService.GetPictureById(Model);
}
<div id="@clientId">
<noscript>
<p>
Please enable JavaScript to use file uploader.</p>
<!-- or put a simple form for upload here -->
</noscript>
</div>
<br />
<div id="multiImages" style=" display:none;"></div>
<script type="text/javascript">
$(function () {
$(function () {
var uploader@(clientId) = new qq.FileUploader({
element: document.getElementById('@clientId'),
action: '@(Url.Content("~/Admin/Picture/AsyncUpload"))',
onComplete: function(id, fileName, responseJSON){
if (responseJSON.success) {
var displayOrder=0;
$.ajax({
cache:false,
type: "POST",
url: "@(Url.Action("ProductPictureAdd", "Product"))",
data: { "pictureId": responseJSON.pictureId, "displayOrder": displayOrder, "productId": @Model },
success: function (data) {
var productpicturesGrid = $("#productpictures-grid");
productpicturesGrid.data('tGrid').ajaxRequest();
$('ul.qq-upload-list li.qq-upload-success').remove();
$('#addProductPicture').attr('disabled', false);
},
error:function (xhr, ajaxOptions, thrownError){
alert('Failed to add product picture.')
$('#addProductPicture').attr('disabled', false);
}
});
}
}
});
});
});
</script>