Ejemplo n.º 1
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            Store store = AbleContext.Current.Store;
            StoreSettingsManager settings = store.Settings;

            // FULLTEXT SEARCH
            bool ftsIsInstalled = KeywordSearchHelper.IsFullTextSearchInstalled(false);
            bool ftsIsEnabled   = false;

            if (ftsIsInstalled)
            {
                ftsIsEnabled = KeywordSearchHelper.IsFullTextSearchEnabled(false);
                if (!ftsIsEnabled)
                {
                    // ATTEMPT TO ENABLE FULLTEXT SEARCH IF POSSIBLE
                    KeywordSearchHelper.EnableFullTextSearch(false);
                    ftsIsEnabled = KeywordSearchHelper.IsFullTextSearchEnabled(false);
                }
            }

            ListItem sqlFtsProviderItem = SearchProvider.Items.FindByValue("SqlFtsSearchProvider");

            if (sqlFtsProviderItem != null && !(ftsIsInstalled && ftsIsEnabled))
            {
                SearchProvider.Items.Remove(sqlFtsProviderItem);
            }

            bool authorizeNetCIMEnabled = PaymentGatewayDataSource.GetPaymentGatewayIdByClassId("CommerceBuilder.Payments.Providers.AuthorizeNetCIM.AuthNetCIMProvider, CommerceBuilder.AuthorizeNetCIM") > 0;

            if (!authorizeNetCIMEnabled)
            {
                tdPaymentStorage.Attributes.Add("class", "inactive");
                PaymentStorageLabel.Text = "Only available with Authorize.Net CIM gateway";
            }

            PaymentStorage.Enabled = authorizeNetCIMEnabled;

            if (!Page.IsPostBack)
            {
                // GENERAL
                StoreName.Text = store.Name;
                if (AbleContext.Current.User.IsSecurityAdmin)
                {
                    StoreUrl.Text           = store.StoreUrl;
                    StoreUrlLiteral.Visible = false;
                }
                else
                {
                    StoreUrlLiteral.Text = store.StoreUrl;
                    StoreUrl.Visible     = false;
                }
                if (!string.IsNullOrEmpty(settings.SiteDisclaimerMessage))
                {
                    SiteDisclaimerMessage.Text = settings.SiteDisclaimerMessage;
                }

                // VOLUME DISCOUNTS
                DiscountMode.SelectedIndex = (int)store.VolumeDiscountMode;

                // INVENTORY
                EnableInventory.Checked = settings.EnableInventory;
                InventoryPanel.Visible  = settings.EnableInventory;
                CurrentInventoryDisplayMode.SelectedIndex = settings.InventoryDisplayDetails ? 1 : 0;
                InStockMessage.Text               = settings.InventoryInStockMessage;
                OutOfStockMessage.Text            = settings.InventoryOutOfStockMessage;
                InventoryAvailabilityMessage.Text = settings.InventoryAvailabilityMessage;
                RestockNotificationLink.Text      = settings.InventoryRestockNotificationLink;

                IList <EmailTemplate> emailTemplates = EmailTemplateDataSource.LoadAll();
                foreach (EmailTemplate template in emailTemplates)
                {
                    RestockNotificationEmail.Items.Add(new ListItem(template.Name, template.Id.ToString()));
                }

                RestockNotificationEmail.ClearSelection();
                ListItem item = RestockNotificationEmail.Items.FindByValue(settings.InventoryRestockNotificationEmailTemplateId.ToString());
                if (item != null)
                {
                    item.Selected = true;
                }

                // ORDER SETTINGS
                UpdateNextOrderNumber(store);

                OrderIdIncrement.Text         = store.OrderIdIncrement.ToString();
                OrderMinAmount.Text           = (settings.OrderMinimumAmount > 0) ? settings.OrderMinimumAmount.ToString() : string.Empty;
                OrderMaxAmount.Text           = (settings.OrderMaximumAmount > 0) ? settings.OrderMaximumAmount.ToString() : string.Empty;
                EnableOnePageCheckout.Checked = settings.EnableOnePageCheckout;

                // GUEST CHECKOUT OPTIONS
                AllowGuestCheckout.Checked   = settings.AllowAnonymousCheckout;
                LimitedGuestCheckout.Checked = !settings.AllowAnonymousCheckoutForDigitalGoods && settings.AllowAnonymousCheckout;
                DisableGuestCheckout.Checked = !settings.AllowAnonymousCheckout;

                // CHECKOUT PAYMENT SETTINGS
                AllowOnlyFullPayments.Checked = !settings.AcceptOrdersWithInvalidPayment;
                IgnoreFailedPayments.Checked  = settings.AcceptOrdersWithInvalidPayment;
                AllowPartialPaymnets.Checked  = settings.EnablePartialPaymentCheckouts && !settings.AcceptOrdersWithInvalidPayment;

                EnableShipMessage.Checked             = settings.EnableShipMessage;
                EnableShipToMultipleAddresses.Checked = settings.EnableShipToMultipleAddresses;
                if (!string.IsNullOrEmpty(settings.CheckoutTermsAndConditions))
                {
                    CheckoutTerms.Text = settings.CheckoutTermsAndConditions;
                }

                EnableOrderNotes.Checked = settings.EnableCustomerOrderNotes;

                // UNITS
                WeightUnit.DataSource     = EnumToHashtable(typeof(CommerceBuilder.Shipping.WeightUnit));
                WeightUnit.DataTextField  = "Key";
                WeightUnit.DataValueField = "Value";
                WeightUnit.DataBind();

                MeasurementUnit.DataSource     = EnumToHashtable(typeof(CommerceBuilder.Shipping.MeasurementUnit));
                MeasurementUnit.DataTextField  = "Key";
                MeasurementUnit.DataValueField = "Value";
                MeasurementUnit.DataBind();

                item = WeightUnit.Items.FindByValue(store.WeightUnitId.ToString());
                if (item != null)
                {
                    item.Selected = true;
                }
                item = MeasurementUnit.Items.FindByValue(store.MeasurementUnitId.ToString());
                if (item != null)
                {
                    item.Selected = true;
                }
                BindTimeZone();

                PostalCodeCountries.Text = settings.PostalCodeCountries;

                // PRODUCTS PURCHASING
                ProductPurchasingDisabled.Checked = settings.ProductPurchasingDisabled;

                // WISHLISTS ENABLED
                WishlistsEnabled.Checked = settings.WishlistsEnabled;

                // SEARCH SETTINGS
                EnableWishlistSearch.Checked    = settings.WishlistSearchEnabled;
                MinimumSearchLength.Text        = settings.MinimumSearchLength.ToString();
                PopularSearchThreshold.Text     = settings.PopularSearchThreshold.ToString();
                CategorySearchDisplayLimit.Text = settings.CategorySearchDisplayLimit.ToString();

                item = SearchProvider.Items.FindByValue(ApplicationSettings.Instance.SearchProvider);
                if (item != null)
                {
                    item.Selected = true;
                }

                // RESTRICT STORE ACCESS
                ListItem option = RestrictStoreAccessOptions.Items.FindByValue(settings.RestrictStoreAccess.ToString());
                if (option != null)
                {
                    option.Selected = true;
                }


                IList <Group> allGroups        = GroupDataSource.LoadForStore(AbleContext.Current.StoreId, "Name ASC");
                IList <Group> nonAdminGroups   = allGroups.FindAll(grp => !grp.IsInRole(Role.AllAdminRoles)) as IList <Group>;
                IList <Group> authorizedGroups = allGroups.FindAll(grp => grp.IsInRole(Role.CustomerRoles));
                AuthorizedGroups.DataSource = nonAdminGroups as IList <Group>;
                AuthorizedGroups.DataBind();
                foreach (ListItem groupItem in AuthorizedGroups.Items)
                {
                    int groupId = AlwaysConvert.ToInt(groupItem.Value);
                    foreach (Group group in authorizedGroups)
                    {
                        if (groupId == group.Id)
                        {
                            groupItem.Selected = true; break;
                        }
                    }
                }

                PaymentStorage.Checked = settings.EnablePaymentProfilesStorage;

                EnableHtmlEditor.Checked = settings.EnableWysiwygEditor;
            }
        }