Beispiel #1
0
        protected void OnSaveClick(object sender, EventArgs e)
        {
            const bool redirect = true;

            try
            {
                // get content
                var htmlContent = this.GetLatestHTMLContent();

                var aliases = from PortalAliasInfo pa in PortalAliasController.Instance.GetPortalAliasesByPortalId(this.PortalSettings.PortalId)
                              select pa.HTTPAlias;
                string content;
                if (this.phEdit.Visible)
                {
                    content = this.txtContent.Text;
                }
                else
                {
                    content = this.hfEditor.Value;
                }

                if (this.Request.QueryString["nuru"] == null)
                {
                    content = HtmlUtils.AbsoluteToRelativeUrls(content, aliases);
                }

                htmlContent.Content = content;

                var draftStateID     = this._workflowStateController.GetFirstWorkflowStateID(this.WorkflowID);
                var publishedStateID = this._workflowStateController.GetLastWorkflowStateID(this.WorkflowID);

                switch (this.CurrentWorkflowType)
                {
                case WorkflowType.DirectPublish:
                    this._htmlTextController.UpdateHtmlText(htmlContent, this._htmlTextController.GetMaximumVersionHistory(this.PortalId));

                    break;

                case WorkflowType.ContentStaging:
                    if (this.chkPublish.Checked)
                    {
                        // if it's already published set it to draft
                        if (htmlContent.StateID == publishedStateID)
                        {
                            htmlContent.StateID = draftStateID;
                        }
                        else
                        {
                            htmlContent.StateID = publishedStateID;

                            // here it's in published mode
                        }
                    }
                    else
                    {
                        // if it's already published set it back to draft
                        if (htmlContent.StateID != draftStateID)
                        {
                            htmlContent.StateID = draftStateID;
                        }
                    }

                    this._htmlTextController.UpdateHtmlText(htmlContent, this._htmlTextController.GetMaximumVersionHistory(this.PortalId));
                    break;
                }
            }
            catch (Exception exc)
            {
                Exceptions.LogException(exc);
                UI.Skins.Skin.AddModuleMessage(this.Page, "Error occurred: ", exc.Message, ModuleMessage.ModuleMessageType.RedError);
                return;
            }

            // redirect back to portal
            if (redirect)
            {
                this.Response.Redirect(this._navigationManager.NavigateURL(), true);
            }
        }
Beispiel #2
0
        public ActionResult EditItem(ViewModelEditItem modelView)
        {
            try
            {
                var item        = modelView.ItemModel;
                var itemContent = modelView.ItemContentModel;

                if ((ModelState.IsValid) && (item != null))
                {
                    if (item.ItemId == -1)
                    {
                        item.ModuleId        = ModuleContext.ModuleId;
                        item.ItemIsPub       = false;
                        item.ItemCreaUserID  = User.UserID;
                        item.ItemCreaDate    = DateTime.UtcNow.ToLocalTime();
                        item.ItemModifUserID = User.UserID;
                        item.ItemModifDate   = DateTime.UtcNow.ToLocalTime();
                        ItemManager.Instance.CreateItem(item);
                    }
                    else
                    {
                        var existingItem = ItemManager.Instance.GetItem(item.ItemId, ModuleContext.ModuleId);
                        existingItem.ItemModifUserID  = User.UserID;
                        existingItem.ItemModifDate    = DateTime.UtcNow.ToLocalTime();
                        existingItem.ItemName         = item.ItemName;
                        existingItem.ItemDescription  = item.ItemDescription;
                        existingItem.ItemPubDateStart = item.ItemPubDateStart;
                        existingItem.ItemPubDateEnd   = item.ItemPubDateEnd;
                        ItemManager.Instance.UpdateItem(existingItem);
                        item = existingItem;
                    }
                    //Sauvegarde le contenu html de l'item
                    if ((item.ItemId > 0) && (itemContent != null))
                    {
                        var aliases = from PortalAliasInfo pa in PortalAliasController.Instance.GetPortalAliasesByPortalId(PortalSettings.PortalId)
                                      select pa.HTTPAlias;

                        string content;
                        content = itemContent.nText;
                        if (Request.QueryString["nuru"] == null)
                        {
                            content = HtmlUtils.AbsoluteToRelativeUrls(content, aliases);
                        }

                        var htmlContent = ItemContentManager.Instance.GetItemContent(item.ItemId) ?? new ItemContent()
                        {
                            ItemId = item.ItemId, ModuleID = ModuleContext.ModuleId
                        };
                        htmlContent.CreaUserID  = User.UserID;
                        htmlContent.ModifUserID = User.UserID;
                        htmlContent.nText       = content;
                        ItemContentManager.Instance.UpdateItemContent(htmlContent, ItemContentManager.Instance.GetMaximumVersionHistory(ModuleContext.PortalId));
                        modelView.ItemContentModel = htmlContent;
                    }
                    modelView.ItemModel = item;
                }
            }
            catch { }

            ModelState.Clear();
            //return View("EditItem", modelView);
            return(ViewEditItem((modelView.ItemModel != null) ? modelView.ItemModel.ItemId : -1));
        }