using System; using System.Data; using System.Collections; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using CMS.CMSHelper; using CMS.Ecommerce; using CMS.ExtendedControls; using CMS.GlobalHelper; using CMS.UIControls; using CMS.SiteProvider; [Security(Resource = "CMS.Ecommerce", UIElements = "Orders.General")] [Security(Resource = "CMS.Ecommerce", UIElements = "Customers")] [Security(Resource = "CMS.Ecommerce", UIElements = "Customers.General")] [Title(ResourceString = "com.customer.edit", ImageUrl = "Objects/Ecommerce_Customer/object.png")] [EditedObject("ecommerce.customer", "customerId")] public partial class CMSModules_Ecommerce_Pages_Tools_Orders_Order_Edit_Customer : CMSOrdersModalPage { #region "Page events" protected override void OnInit(EventArgs e) { base.OnInit(e); // Check module permissions if (!ECommerceContext.IsUserAuthorizedForPermission("ReadCustomers")) { RedirectToCMSDeskAccessDenied("CMS.Ecommerce", "EcommerceRead OR ReadCustomers"); } } protected void Page_Load(object sender, EventArgs e) { btnOk.Text = GetString("general.ok"); btnCancel.Text = GetString("general.cancel"); CustomerInfo customer = EditedObject as CustomerInfo; // Check if customer can be edited on current site if (CheckCustomerSiteID(customer)) { customerEdit.Customer = customer; customerEdit.OnSaved += customerEdit_OnSaved; } else { EditedObject = null; } } #endregion #region "Event handlers" protected void customerEdit_OnSaved(object sender, EventArgs e) { // Refresh the opening page string javaScript = "if(window.wopener != null){ window.wopener.location.replace(window.wopener.location); } CloseDialog();"; ScriptHelper.RegisterClientScriptBlock(Page, typeof(string), "RefreshParentScript", ScriptHelper.GetScript(javaScript)); } protected void btnOK_Click(object sender, EventArgs e) { // Save customer customerEdit.Save(); } #endregion #region "Methods" /// /// Returns true if customer is anonymous on current site or has login on current site. /// /// Customer object protected bool CheckCustomerSiteID(CustomerInfo customer) { if (customer == null) { return false; } int currentSiteId = CMSContext.CurrentSiteID; if (customer.CustomerSiteID == currentSiteId) { return true; } if ((customer.CustomerUserID > 0) && (UserSiteInfoProvider.GetUserSiteInfo(customer.CustomerUserID, currentSiteId) != null)) { return true; } if (CurrentUser.IsGlobalAdministrator && (customer.CustomerUserID == 0) && (customer.CustomerSiteID == 0)) { return true; } return false; } #endregion }