Procházet zdrojové kódy

Merge branch 'wrdp' into 'develop'

Wrdp

See merge request o2oa/o2oa!1820
o2null před 5 roky
rodič
revize
b49ea463be
13 změnil soubory, kde provedl 60 přidání a 46 odebrání
  1. 1 1
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionBatchDownloadWithWorkOrWorkCompleted.java
  2. 1 1
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionBatchDownloadWithWorkOrWorkCompletedStream.java
  3. 6 3
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionChangeOrderNumber.java
  4. 8 0
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionChangeSite.java
  5. 1 1
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionEdit.java
  6. 3 4
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionGetWithWork.java
  7. 3 3
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionGetWithWorkCompleted.java
  8. 3 3
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionGetWithWorkOrWorkCompleted.java
  9. 3 3
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionListWithWorkOrWorkCompleted.java
  10. 1 2
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionUpdate.java
  11. 14 22
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/BaseAction.java
  12. 13 1
      o2web/source/o2_core/o2/xDesktop/Default.js
  13. 3 2
      o2web/source/x_component_LogViewer/Main.js

+ 1 - 1
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionBatchDownloadWithWorkOrWorkCompleted.java

@@ -73,7 +73,7 @@ class ActionBatchDownloadWithWorkOrWorkCompleted extends BaseAction {
 			List<String> units = business.organization().unit().listWithPerson(effectivePerson);
 			List<String> units = business.organization().unit().listWithPerson(effectivePerson);
 			List<Attachment> readableAttachmentList = new ArrayList<>();
 			List<Attachment> readableAttachmentList = new ArrayList<>();
 			for (Attachment attachment : attachmentList) {
 			for (Attachment attachment : attachmentList) {
-				if (this.read(attachment, effectivePerson, identities, units)) {
+				if (this.read(attachment, effectivePerson, identities, units, business)) {
 					readableAttachmentList.add(attachment);
 					readableAttachmentList.add(attachment);
 				}
 				}
 			}
 			}

+ 1 - 1
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionBatchDownloadWithWorkOrWorkCompletedStream.java

@@ -73,7 +73,7 @@ class ActionBatchDownloadWithWorkOrWorkCompletedStream extends BaseAction {
 			List<String> units = business.organization().unit().listWithPerson(effectivePerson);
 			List<String> units = business.organization().unit().listWithPerson(effectivePerson);
 			List<Attachment> readableAttachmentList = new ArrayList<>();
 			List<Attachment> readableAttachmentList = new ArrayList<>();
 			for (Attachment attachment : attachmentList) {
 			for (Attachment attachment : attachmentList) {
-				if (this.read(attachment, effectivePerson, identities, units)) {
+				if (this.read(attachment, effectivePerson, identities, units, business)) {
 					readableAttachmentList.add(attachment);
 					readableAttachmentList.add(attachment);
 				}
 				}
 			}
 			}

+ 6 - 3
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionChangeOrderNumber.java

@@ -19,6 +19,8 @@ import com.x.processplatform.core.entity.content.Work;
 import com.x.processplatform.core.entity.element.Application;
 import com.x.processplatform.core.entity.element.Application;
 import com.x.processplatform.core.entity.element.Process;
 import com.x.processplatform.core.entity.element.Process;
 
 
+import java.util.List;
+
 class ActionChangeOrderNumber extends BaseAction {
 class ActionChangeOrderNumber extends BaseAction {
 
 
 	private static Logger logger = LoggerFactory.getLogger(ActionChangeOrderNumber.class);
 	private static Logger logger = LoggerFactory.getLogger(ActionChangeOrderNumber.class);
@@ -41,9 +43,10 @@ class ActionChangeOrderNumber extends BaseAction {
 			if (BooleanUtils.isNotTrue(control.getAllowSave())) {
 			if (BooleanUtils.isNotTrue(control.getAllowSave())) {
 				throw new ExceptionAccessDenied(effectivePerson, work);
 				throw new ExceptionAccessDenied(effectivePerson, work);
 			}
 			}
-			Application application = business.application().pick(work.getApplication());
-			Process process = business.process().pick(work.getProcess());
-			if (!business.controllerable(effectivePerson, application, process, attachment)) {
+			List<String> identities = business.organization().identity().listWithPerson(effectivePerson);
+			List<String> units = business.organization().unit().listWithPerson(effectivePerson);
+			boolean canEdit = this.edit(attachment, effectivePerson, identities, units, business);
+			if(!canEdit){
 				throw new ExceptionAccessDenied(effectivePerson, attachment);
 				throw new ExceptionAccessDenied(effectivePerson, attachment);
 			}
 			}
 			emc.beginTransaction(Attachment.class);
 			emc.beginTransaction(Attachment.class);

+ 8 - 0
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionChangeSite.java

@@ -14,6 +14,8 @@ import com.x.processplatform.assemble.surface.WorkControl;
 import com.x.processplatform.core.entity.content.Attachment;
 import com.x.processplatform.core.entity.content.Attachment;
 import com.x.processplatform.core.entity.content.Work;
 import com.x.processplatform.core.entity.content.Work;
 
 
+import java.util.List;
+
 class ActionChangeSite extends BaseAction {
 class ActionChangeSite extends BaseAction {
 	ActionResult<Wo> execute(EffectivePerson effectivePerson, String id, String workId, String site) throws Exception {
 	ActionResult<Wo> execute(EffectivePerson effectivePerson, String id, String workId, String site) throws Exception {
 		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
 		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
@@ -34,6 +36,12 @@ class ActionChangeSite extends BaseAction {
 			if (BooleanUtils.isNotTrue(control.getAllowSave())) {
 			if (BooleanUtils.isNotTrue(control.getAllowSave())) {
 				throw new ExceptionAccessDenied(effectivePerson, work);
 				throw new ExceptionAccessDenied(effectivePerson, work);
 			}
 			}
+			List<String> identities = business.organization().identity().listWithPerson(effectivePerson);
+			List<String> units = business.organization().unit().listWithPerson(effectivePerson);
+			boolean canEdit = this.edit(attachment, effectivePerson, identities, units, business);
+			if(!canEdit){
+				throw new ExceptionAccessDenied(effectivePerson, attachment);
+			}
 			emc.beginTransaction(Attachment.class);
 			emc.beginTransaction(Attachment.class);
 			attachment.setSite(site);
 			attachment.setSite(site);
 			emc.commit();
 			emc.commit();

+ 1 - 1
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionEdit.java

@@ -56,7 +56,7 @@ class ActionEdit extends BaseAction {
 
 
 			List<String> identities = business.organization().identity().listWithPerson(effectivePerson);
 			List<String> identities = business.organization().identity().listWithPerson(effectivePerson);
 			List<String> units = business.organization().unit().listWithPerson(effectivePerson);
 			List<String> units = business.organization().unit().listWithPerson(effectivePerson);
-			boolean canControl = this.control(attachment, effectivePerson, identities, units);
+			boolean canControl = this.control(attachment, effectivePerson, identities, units, business);
 			if(!canControl){
 			if(!canControl){
 				throw new ExceptionAccessDenied(effectivePerson, attachment);
 				throw new ExceptionAccessDenied(effectivePerson, attachment);
 			}
 			}

+ 3 - 4
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionGetWithWork.java

@@ -14,7 +14,6 @@ import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.tools.ListTools;
 import com.x.base.core.project.tools.ListTools;
 import com.x.processplatform.assemble.surface.Business;
 import com.x.processplatform.assemble.surface.Business;
-import com.x.processplatform.assemble.surface.jaxrs.attachment.ActionListWithWorkOrWorkCompleted.Wo;
 import com.x.processplatform.core.entity.content.Attachment;
 import com.x.processplatform.core.entity.content.Attachment;
 import com.x.processplatform.core.entity.content.Work;
 import com.x.processplatform.core.entity.content.Work;
 
 
@@ -43,9 +42,9 @@ class ActionGetWithWork extends BaseAction {
 
 
 			List<String> units = business.organization().unit().listWithPerson(effectivePerson);
 			List<String> units = business.organization().unit().listWithPerson(effectivePerson);
 
 
-			boolean canControl = this.control(wo, effectivePerson, identities, units);
-			boolean canEdit = (this.edit(wo, effectivePerson, identities, units) || canControl);
-			boolean canRead = (this.read(attachment, effectivePerson, identities, units) || canEdit);
+			boolean canControl = this.control(attachment, effectivePerson, identities, units, business);
+			boolean canEdit = this.edit(attachment, effectivePerson, identities, units, business);
+			boolean canRead = this.read(attachment, effectivePerson, identities, units, business);
 			if (canRead) {
 			if (canRead) {
 				wo.getControl().setAllowRead(true);
 				wo.getControl().setAllowRead(true);
 				wo.getControl().setAllowEdit(canEdit);
 				wo.getControl().setAllowEdit(canEdit);

+ 3 - 3
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionGetWithWorkCompleted.java

@@ -42,9 +42,9 @@ class ActionGetWithWorkCompleted extends BaseAction {
 
 
 			List<String> units = business.organization().unit().listWithPerson(effectivePerson);
 			List<String> units = business.organization().unit().listWithPerson(effectivePerson);
 
 
-			boolean canControl = this.control(wo, effectivePerson, identities, units);
-			boolean canEdit = (this.edit(wo, effectivePerson, identities, units) || canControl);
-			boolean canRead = (this.read(attachment, effectivePerson, identities, units) || canEdit);
+			boolean canControl = this.control(attachment, effectivePerson, identities, units, business);
+			boolean canEdit = this.edit(attachment, effectivePerson, identities, units, business);
+			boolean canRead = this.read(attachment, effectivePerson, identities, units, business);
 			if (canRead) {
 			if (canRead) {
 				wo.getControl().setAllowRead(true);
 				wo.getControl().setAllowRead(true);
 				wo.getControl().setAllowEdit(canEdit);
 				wo.getControl().setAllowEdit(canEdit);

+ 3 - 3
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionGetWithWorkOrWorkCompleted.java

@@ -44,9 +44,9 @@ class ActionGetWithWorkOrWorkCompleted extends BaseAction {
 
 
 			List<String> identities = business.organization().identity().listWithPerson(effectivePerson);
 			List<String> identities = business.organization().identity().listWithPerson(effectivePerson);
 			List<String> units = business.organization().unit().listWithPerson(effectivePerson);
 			List<String> units = business.organization().unit().listWithPerson(effectivePerson);
-			boolean canControl = this.control(wo, effectivePerson, identities, units);
-			boolean canEdit = (this.edit(wo, effectivePerson, identities, units) || canControl);
-			boolean canRead = (this.read(attachment, effectivePerson, identities, units) || canEdit);
+			boolean canControl = this.control(attachment, effectivePerson, identities, units, business);
+			boolean canEdit = this.edit(attachment, effectivePerson, identities, units, business);
+			boolean canRead = this.read(attachment, effectivePerson, identities, units, business);
 			if (canRead) {
 			if (canRead) {
 				wo.getControl().setAllowRead(true);
 				wo.getControl().setAllowRead(true);
 				wo.getControl().setAllowEdit(canEdit);
 				wo.getControl().setAllowEdit(canEdit);

+ 3 - 3
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionListWithWorkOrWorkCompleted.java

@@ -46,9 +46,9 @@ class ActionListWithWorkOrWorkCompleted extends BaseAction {
 
 
 			for (Attachment attachment : this.list(business, job)) {
 			for (Attachment attachment : this.list(business, job)) {
 				Wo wo = Wo.copier.copy(attachment);
 				Wo wo = Wo.copier.copy(attachment);
-				boolean canControl = this.control(wo, effectivePerson, identities, units);
-				boolean canEdit = (this.edit(wo, effectivePerson, identities, units) || canControl);
-				boolean canRead = (this.read(attachment, effectivePerson, identities, units) || canEdit);
+				boolean canControl = this.control(attachment, effectivePerson, identities, units, business);
+				boolean canEdit = this.edit(attachment, effectivePerson, identities, units, business);
+				boolean canRead = this.read(attachment, effectivePerson, identities, units, business);
 				if (canRead) {
 				if (canRead) {
 					wo.getControl().setAllowRead(true);
 					wo.getControl().setAllowRead(true);
 					wo.getControl().setAllowEdit(canEdit);
 					wo.getControl().setAllowEdit(canEdit);

+ 1 - 2
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionUpdate.java

@@ -67,8 +67,7 @@ class ActionUpdate extends BaseAction {
 
 
 			List<String> identities = business.organization().identity().listWithPerson(effectivePerson);
 			List<String> identities = business.organization().identity().listWithPerson(effectivePerson);
 			List<String> units = business.organization().unit().listWithPerson(effectivePerson);
 			List<String> units = business.organization().unit().listWithPerson(effectivePerson);
-			boolean canControl = this.control(attachment, effectivePerson, identities, units);
-			boolean canEdit = (this.edit(attachment, effectivePerson, identities, units) || canControl);
+			boolean canEdit = this.edit(attachment, effectivePerson, identities, units, business);
 			if(!canEdit){
 			if(!canEdit){
 				throw new ExceptionAccessDenied(effectivePerson, attachment);
 				throw new ExceptionAccessDenied(effectivePerson, attachment);
 			}
 			}

+ 14 - 22
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/BaseAction.java

@@ -174,47 +174,39 @@ abstract class BaseAction extends StandardJaxrsAction {
 	}
 	}
 
 
 	public boolean read(Attachment attachment, EffectivePerson effectivePerson, List<String> identities,
 	public boolean read(Attachment attachment, EffectivePerson effectivePerson, List<String> identities,
-			List<String> units) throws Exception {
+			List<String> units, Business business) throws Exception {
 		boolean value = false;
 		boolean value = false;
-		if (effectivePerson.isManager()) {
-			value = true;
-		} else if (effectivePerson.isPerson(attachment.getPerson())) {
-			value = true;
-		} else if (ListTools.isEmpty(attachment.getReadIdentityList())
+		if (ListTools.isEmpty(attachment.getReadIdentityList())
 				&& ListTools.isEmpty(attachment.getReadUnitList())) {
 				&& ListTools.isEmpty(attachment.getReadUnitList())) {
 			value = true;
 			value = true;
-		} else {
-			if (ListTools.containsAny(identities, attachment.getReadIdentityList())
+		}else if (ListTools.containsAny(identities, attachment.getReadIdentityList())
 					|| ListTools.containsAny(units, attachment.getReadUnitList())) {
 					|| ListTools.containsAny(units, attachment.getReadUnitList())) {
-				value = true;
-			}
+			value = true;
+		}else{
+			value = this.edit(attachment, effectivePerson, identities, units, business);
 		}
 		}
 		return value;
 		return value;
 	}
 	}
 
 
 	public boolean edit(Attachment attachment, EffectivePerson effectivePerson, List<String> identities,
 	public boolean edit(Attachment attachment, EffectivePerson effectivePerson, List<String> identities,
-			List<String> units) throws Exception {
+			List<String> units, Business business) throws Exception {
 		boolean value = false;
 		boolean value = false;
-		if (effectivePerson.isManager()) {
-			value = true;
-		} else if (effectivePerson.isPerson(attachment.getPerson())) {
-			value = true;
-		} else if (ListTools.isEmpty(attachment.getEditIdentityList())
+		if (ListTools.isEmpty(attachment.getEditIdentityList())
 				&& ListTools.isEmpty(attachment.getEditUnitList())) {
 				&& ListTools.isEmpty(attachment.getEditUnitList())) {
 			value = true;
 			value = true;
-		} else {
-			if (ListTools.containsAny(identities, attachment.getEditIdentityList())
+		}else if (ListTools.containsAny(identities, attachment.getEditIdentityList())
 					|| ListTools.containsAny(units, attachment.getEditUnitList())) {
 					|| ListTools.containsAny(units, attachment.getEditUnitList())) {
-				value = true;
-			}
+			value = true;
+		}else{
+			value = this.control(attachment, effectivePerson, identities, units, business);
 		}
 		}
 		return value;
 		return value;
 	}
 	}
 
 
 	public boolean control(Attachment attachment, EffectivePerson effectivePerson, List<String> identities,
 	public boolean control(Attachment attachment, EffectivePerson effectivePerson, List<String> identities,
-			List<String> units) throws Exception {
+			List<String> units, Business business) throws Exception {
 		boolean value = false;
 		boolean value = false;
-		if (effectivePerson.isManager()) {
+		if (business.canManageApplication(effectivePerson, null)) {
 			value = true;
 			value = true;
 		} else if (effectivePerson.isPerson(attachment.getPerson())) {
 		} else if (effectivePerson.isPerson(attachment.getPerson())) {
 			value = true;
 			value = true;

+ 13 - 1
o2web/source/o2_core/o2/xDesktop/Default.js

@@ -1827,7 +1827,19 @@ o2.xDesktop.Default.Lnk = new Class({
     setEvent: function(){
     setEvent: function(){
         this.node.addEvents({
         this.node.addEvents({
             "click": function(){
             "click": function(){
-                layout.openApplication(null, this.data.name, this.data.options);
+                if (this.data.name=="Homepage"){
+                    var name = this.data.name;
+                    var options = this.data.options;
+
+                    if (layout.config.indexPage && layout.config.indexPage.enable && layout.config.indexPage.portal){
+                        name = "portal.Portal";
+                        var appId = "portal.Portal"+layout.config.indexPage.portal;
+                        options = {"name": "portal.Portal", "portalId": layout.config.indexPage.portal, "pageId": layout.config.indexPage.page, "appId": appId};
+                    }
+                    layout.openApplication(null, name, options);
+                }else{
+                    layout.openApplication(null, this.data.name, this.data.options);
+                }
             }.bind(this),
             }.bind(this),
             "mouseover": function(){
             "mouseover": function(){
                 this.actionNode.fade("in");
                 this.actionNode.fade("in");

+ 3 - 2
o2web/source/x_component_LogViewer/Main.js

@@ -13,8 +13,9 @@ MWF.xApplication.LogViewer.Main = new Class({
     onQueryLoad: function(){
     onQueryLoad: function(){
         this.lp = MWF.xApplication.LogViewer.LP;
         this.lp = MWF.xApplication.LogViewer.LP;
         this.tagId = o2.uuid();
         this.tagId = o2.uuid();
-
-
+    },
+    onQueryClose: function () {
+        $clear(this.timeDo);
     },
     },
     loadApplication: function(callback){
     loadApplication: function(callback){
         if (!this.options.isRefresh){
         if (!this.options.isRefresh){