Project : Colruty_935
control.ordertemplate.js
Extended order template controller
[HttpPost] public ActionResult SaveNewOrderTemplate(string name) { var existingTemplates = ShopApi.OrderTemplates.GetTemplates(); if (existingTemplates.Any(t => t.Name == name)) { var orderTemplate_SaveFailedInUse = CommerceFrameworkBase.SanaTexts.GetSanaText("OrderTemplate_SaveFailedInUse"); return Json(new { id = 0, error= orderTemplate_SaveFailedInUse }, JsonRequestBehavior.AllowGet);//fail } ShopApi.OrderTemplates.SaveOrderTemplate(name); // Get Template by name var existingTemplates2 = ShopApi.OrderTemplates.GetTemplates(); var template2 = existingTemplates2.Where(x => x.Name == name).FirstOrDefault(); var tempId = template2.Id; //return Json(tempId, JsonRequestBehavior.AllowGet);//Sucess return Json( new { id= tempId }, JsonRequestBehavior.AllowGet);//Sucess }
// on New Order Template popup Save button click var btnSave = document.getElementById('OrderTemplate_Save'); if (btnSave != null) { btnSave.onclick = savenewordertemplate; } function savenewordertemplate() { var newOrderTemplateName = $("#newOrderTemplateName").val(); $.ajax({ url: Sana.Urls.Home() + 'profile/ordertemplates/savenewordertemplate', method: "POST", data: { name: newOrderTemplateName } , //error: function () { // alert("Ajax call failed"); //} }).done(function (data) { if (data != null) { if (data.id == 0) { var error = data.error; $("#template_invalid").append(error); return; } var id = data.id; var retunurl = Sana.Urls.Home() + "profile/ordertemplates/details?templateId=" + id; window.location.replace(retunurl); } }) }
to open popup javascript
var el = document.getElementById('SaveOrderTemplate_test'); if (el != null) { el.onclick = openRegisterTerms; } function openRegisterTerms() { Sana.Popup.open('#createOrderTemplatePopup'); }
popup view
_CreateOrderTemplate.cshtml
@model NewOrderTemplateModel <div id="createOrderTemplatePopup" style="display: none;"> <div class="cnt-column"> <h2>@Sana.SimpleText("OrderTemplate_SavePopupHeader")</h2> @*@Html.EditorForModel()*@ @*<input type="text" id="newOrderTemplateName" name="OrderTemplateName">*@ @Html.TextBox("newOrderTemplateName", Model.Name) <div id="template_invalid"></div> </div> <div class="ftr-column"> <a class="btn-cancel btn-close-dialog" title="@Sana.SimpleText("ButtonText_Cancel")"> <span class="btn-cnt">@Sana.SimpleText("ButtonText_Cancel")</span> </a> <a id="OrderTemplate_Save" class="btn btn-small">@Sana.SimpleText("save", "save")</a> </div> </div>
//--------------------------
need to try by passinf model .
for Forehand Project
https://sanacommerce.visualstudio.com/Sana%20Projects/_workitems/edit/92470/
https://sanacommerce.visualstudio.com/Sana%20Projects/_workitems/edit/92470/
ExtendedOrdersController
[HttpPost]
[SanaValidateAntiForgeryToken]
[RequireAbility(AbilityTo.PromoteQuote)]
public virtual ActionResult PromoteToOrderWithData(string quoteId, string referanceNo = null, string deliveryDate = null, bool ignoreWarning = false)
{
...
// Ticket 92470: [Forehand] 3.6. Quote-to-order conversion – Requested delivery date and reference no.
// Update Reference No and Delivery Date.
if (!deliveryDate.IsNullOrWhiteSpace())
{
var date = DateTime.Parse(deliveryDate);
quote.RequestedDeliveryDate = new Date(date);
}
if (!string.IsNullOrEmpty(referanceNo))
{
quote.ReferenceNo = referanceNo;
}
...
}
ExtendedOrderDetailsModel
public class ExtendedOrderDetailsModel : OrderDetailsModel
{
/// Ticket 92470: [Forehand] 3.6. Quote-to-order conversion – Requested delivery date and reference no.
/// <summary>
/// Get or set the reference number.
/// </summary>
[AllowHtml]
//[Required(ErrorMessage = "Name Required")]
[StringLength(20, ErrorMessageResourceName = SanaTextKeys.MaxLength)]
[Display(Name = "ReferenceNumber")]
[ReferenceNoConditionalRequired(ErrorMessageResourceName = SanaTextKeys.RequiredField)]
public string ReferenceNumber { get; set; }
/// Ticket 92470: [Forehand] 3.6. Quote-to-order conversion – Requested delivery date and reference no.
/// <summary>
/// Get or set the delivery date.
/// </summary>
[Display(Name = "RequestedDeliveryDate")]
[GreaterThanToday(ErrorMessageResourceName = SanaTextKeys.InvalidField)]
public Date? DeliveryDate { get; set; }
}
to view add form section to handle validate by it self.
button set to type Submit
_PromotePopups.cshtml
<div id="quotePromotionConfirmationPopup" class="popup-cnt"> @*<form id="quotePromotionForm" onsubmit="return saveQuoteInfo2()">*@ <form id="quotePromotionForm"> <------ <div class="cnt-column"> <h2>@Sana.SimpleText("QuotePromotionConfirmationPopup_Title")</h2> <div>@Sana.RichText("QuotePromotionConfirmationPopup_Description", makeImagesResponsive: false)</div> </div> <div> @Html.Partial("_QuoteInfo", model) </div> <div class="ftr-column"> @cancelBtn @*@promoteBtn*@ @* Ticket 92470: [Forehand] 3.6. Quote-to-order conversion – Requested delivery date and reference no. *@ <input type="submit" id="QuoteInfo_Submit" value="Continue" class="btn btn-small btn-action btn-continue-promote" /> </div> </form> </div>