| 1 |
- MWF.xApplication.cms=MWF.xApplication.cms||{};MWF.xApplication.cms.Document=MWF.xApplication.cms.Document||{};MWF.xApplication.cms.Document.options.multitask=true;MWF.xApplication.cms.Document.Main=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{style:"default",name:"cms.Document",icon:"icon.png",width:"1200",height:"800",title:MWF.xApplication.cms.Document.LP.title,documentId:"",isControl:false,readonly:false,autoSave:false,saveOnClose:false,postPublish:null},onQueryLoad:function(){this.lp=MWF.xApplication.cms.Document.LP;if(this.status){this.options.documentId=this.status.documentId;this.options.readonly=this.status.readonly=="true"||this.status.readonly==true?true:false;this.options.autoSave=this.status.autoSave=="true"||this.status.autoSave==true?true:false;this.options.saveOnClose=this.status.saveOnClose=="true"||this.status.saveOnClose==true?true:false}if(this.options.documentId&&this.options.documentId!=""){this.options.appId="cms.Document"+this.options.documentId}},loadApplication:function(t){this.node=new Element("div",{styles:this.css.content}).inject(this.content);MWF.require("MWF.widget.Mask",function(){this.mask=new MWF.widget.Mask({style:"desktop"});this.formNode=new Element("div",{styles:{"min-height":"100%"}}).inject(this.node);MWF.xDesktop.requireApp("cms.Document","Actions.RestActions",function(){this.action=new MWF.xApplication.cms.Document.Actions.RestActions;if(!this.options.isRefresh){this.maxSize(function(){this.mask.loadNode(this.content);this.loadDocument()}.bind(this))}else{this.mask.loadNode(this.content);this.loadDocument()}if(t)t()}.bind(this))}.bind(this));this.addEvent("queryClose",function(){this.refreshTaskCenter()}.bind(this));this.addKeyboardEvents()},refreshTaskCenter:function(){if(this.desktop.apps["cms.Explorer"]){this.desktop.apps["cms.Explorer"].content.unmask();this.desktop.apps["cms.Explorer"].refreshAll()}},addKeyboardEvents:function(){this.addEvent("keySave",function(t){this.keySave(t)}.bind(this))},keySave:function(t){if(this.appForm){if(!this.readonly){this.appForm.saveDocument();t.preventDefault()}}},reload:function(t){if(this.form){this.formNode.empty();MWF.release(this.form);this.form=null}this.parseData(t);this.openDocument()},loadDocument:function(){var t=this.options.documentId;this.action.getDocument(t,function(t){this.loadController(t.data.document.appId,function(){t.data=t.data||[];this.parseData(t.data);this.action.getCategory(t.data.document.catagoryId,function(s){this.categoryData=s.data;var o=this.categoryData.formId||this.categoryData.readFormId;if(this.readonly==true&&this.categoryData.readFormId&&this.categoryData.readFormId!=""){o=this.categoryData.readFormId}if(!o||o==""){this.notice(t.data.document.categoryName+this.lp.formNotSetted,"error")}else{this.loadForm(o)}}.bind(this))}.bind(this))}.bind(this),function(t){this.notice(this.lp.documentGettedError+":"+t.responseText,"error");this.close()}.bind(this))},loadController:function(t,s){this.controllers=[];this.action.listColumnController(t,function(t){t.data=t.data||[];t.data.each(function(t){this.controllers.push(t.adminUid)}.bind(this));if(s)s(t)}.bind(this),function(t){this.notice(this.lp.controllerGettedError+":"+t.responseText,"error");this.close()}.bind(this))},errorDocument:function(){if(this.mask)this.mask.hide();this.node.set("text","openError")},loadForm:function(t){this.action.getForm(t,function(t){this.form=t.data.data?JSON.decode(MWF.decodeJsonString(t.data.data)):null;this.listAttachment()}.bind(this),function(t){this.notice(this.lp.formGettedError+":"+t.responseText,"error");this.close()}.bind(this))},listAttachment:function(){if(this.document.attachmentList&&this.document.attachmentList.length>0){this.action.listAttachment(this.options.documentId,function(t){if(this.mask)this.mask.hide();this.attachmentList=t.data;this.attachmentList.each(function(t){t.lastUpdateTime=t.updateTime;t.person=t.creatorUid});this.openDocument()}.bind(this),function(t){this.notice(this.lp.attachmentGettedError+":"+t.responseText,"error");this.close()}.bind(this))}else{if(this.mask)this.mask.hide();this.attachmentList=[];this.openDocument()}},isEmptyObject:function(t){var s;for(s in t){return false}return true},parseData:function(t){var s="";s=t.document.title;this.setTitle(s);t.document.subject=t.document.title;this.data=t.data;if(this.isEmptyObject(this.data)){this.data.isNew=true}else{this.data.isNew=false}this.document=t.document;var o=false;if(MWF.AC.isAdministrator()){this.options.isControl=true;o=true}if(this.controllers&&this.controllers.contains(this.desktop.session.user.name)){this.options.isControl=true;o=true}if(this.desktop.session.user.name==this.document.creatorPerson){this.options.isControl=true}if(this.options.readonly){this.readonly=true}else{this.readonly=true;if(this.options.isControl&&this.document.docStatus!="archived"){this.readonly=false}}if(!this.readonly){this.options.autoSave=true;this.options.saveOnClose=true}var i=this.options.isControl;this.control=t.control||{allowRead:true,allowPublishDocument:i&&this.document.docStatus=="draft",allowArchiveDocument:i&&this.document.docStatus=="published",allowRedraftDocument:i&&this.document.docStatus=="published",allowSave:i&&this.document.docStatus=="published",allowPopularDocument:o&&this.document.docStatus=="published",allowEditDocument:i,allowDeleteDocument:i}},setPopularDocument:function(){MWF.xDesktop.requireApp("cms.Document","HotLinkForm",null,false);var t=new MWF.xApplication.cms.Document.HotLinkForm(this,this.document,{documentId:this.options.documentId,onPostOk:function(t){}.bind(this)},{app:this,lp:this.lp,css:this.css,actions:this.action});t.create()},openDocument:function(){if(this.form){MWF.xDesktop.requireApp("cms.Xform","Form",function(){this.appForm=new MWF.CMSForm(this.formNode,this.form,{readonly:this.readonly,autoSave:this.options.autoSave,saveOnClose:this.options.saveOnClose,onPostPublish:this.options.postPublish});this.appForm.businessData={data:this.data,document:this.document,control:this.control,attachmentList:this.attachmentList,status:{readonly:this.readonly}};this.appForm.documentAction=this.action;this.appForm.app=this;this.appForm.load()}.bind(this))}},recordStatus:function(){var t={documentId:this.options.documentId,readonly:this.options.readonly,autoSave:this.options.autoSave,saveOnClose:this.options.saveOnClose};if(this.options.appId&&this.options.appId!="")t.appId=this.options.appId;return t},onPostClose:function(){if(this.appForm){this.appForm.modules.each(function(t){MWF.release(t)});MWF.release(this.appForm)}}});
|