Selaa lähdekoodia

会议管理增加匿名用户是否可以查看附件设置.

roo00 7 vuotta sitten
vanhempi
commit
a81ef1b6b6

+ 1 - 1
o2server/x_base_core_project/src/main/java/com/x/base/core/entity/JpaObject_.java

@@ -12,7 +12,7 @@ import javax.persistence.metamodel.SingularAttribute;
 @javax.persistence.metamodel.StaticMetamodel
 (value=com.x.base.core.entity.JpaObject.class)
 @javax.annotation.Generated
-(value="org.apache.openjpa.persistence.meta.AnnotationProcessor6",date="Thu Dec 27 11:39:09 CST 2018")
+(value="org.apache.openjpa.persistence.meta.AnnotationProcessor6",date="Fri Dec 28 16:39:13 CST 2018")
 public class JpaObject_ {
     public static volatile SingularAttribute<JpaObject,Date> createTime;
     public static volatile SingularAttribute<JpaObject,Boolean> scratchBoolean;

+ 1 - 1
o2server/x_base_core_project/src/main/java/com/x/base/core/entity/SliceJpaObject_.java

@@ -10,7 +10,7 @@ import javax.persistence.metamodel.SingularAttribute;
 @javax.persistence.metamodel.StaticMetamodel
 (value=com.x.base.core.entity.SliceJpaObject.class)
 @javax.annotation.Generated
-(value="org.apache.openjpa.persistence.meta.AnnotationProcessor6",date="Thu Dec 27 11:39:09 CST 2018")
+(value="org.apache.openjpa.persistence.meta.AnnotationProcessor6",date="Fri Dec 28 16:39:13 CST 2018")
 public class SliceJpaObject_ extends JpaObject_  {
     public static volatile SingularAttribute<SliceJpaObject,Integer> distributeFactor;
 }

+ 1 - 1
o2server/x_base_core_project/src/main/java/com/x/base/core/entity/StorageObject_.java

@@ -8,6 +8,6 @@ package com.x.base.core.entity;
 @javax.persistence.metamodel.StaticMetamodel
 (value=com.x.base.core.entity.StorageObject.class)
 @javax.annotation.Generated
-(value="org.apache.openjpa.persistence.meta.AnnotationProcessor6",date="Thu Dec 27 11:39:09 CST 2018")
+(value="org.apache.openjpa.persistence.meta.AnnotationProcessor6",date="Fri Dec 28 16:39:13 CST 2018")
 public class StorageObject_ extends SliceJpaObject_  {
 }

+ 11 - 0
o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Meeting.java

@@ -14,6 +14,7 @@ public class Meeting extends ConfigObject {
 		this.host = "127.0.0.1";
 		this.user = "xadmin";
 		this.pass = "";
+		this.anonymousAccessAttachment = false;
 	}
 
 	public static Meeting defaultInstance() {
@@ -34,6 +35,8 @@ public class Meeting extends ConfigObject {
 	private String pass;
 	@FieldDescribe("openMeeting协议")
 	private String httpProtocol;
+	@FieldDescribe("匿名用户是否可以访问附件")
+	private Boolean anonymousAccessAttachment;
 
 	public String getHttpProtocol() {
 		return StringUtils.equalsIgnoreCase("https", this.httpProtocol) ? "https" : "http";
@@ -91,4 +94,12 @@ public class Meeting extends ConfigObject {
 		this.enable = enable;
 	}
 
+	public Boolean getAnonymousAccessAttachment() {
+		return anonymousAccessAttachment;
+	}
+
+	public void setAnonymousAccessAttachment(Boolean anonymousAccessAttachment) {
+		this.anonymousAccessAttachment = anonymousAccessAttachment;
+	}
+
 }

+ 1 - 1
o2server/x_base_core_project/src/main/resources/META-INF/persistence.xml

@@ -2,8 +2,8 @@
 
 <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence  http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0">
   <persistence-unit name="enhance">
-    <class>com.x.base.core.entity.SliceJpaObject</class>
     <class>com.x.base.core.entity.JpaObject</class>
+    <class>com.x.base.core.entity.SliceJpaObject</class>
     <class>com.x.base.core.entity.StorageObject</class>
   </persistence-unit>
 </persistence>

+ 7 - 2
o2server/x_meeting_assemble_control/src/main/java/com/x/meeting/assemble/control/jaxrs/attachment/ActionDownload.java

@@ -1,7 +1,10 @@
 package com.x.meeting.assemble.control.jaxrs.attachment;
 
+import org.apache.commons.lang3.BooleanUtils;
+
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
+import com.x.base.core.project.config.Config;
 import com.x.base.core.project.config.StorageMapping;
 import com.x.base.core.project.exception.ExceptionWhen;
 import com.x.base.core.project.http.ActionResult;
@@ -26,8 +29,10 @@ public class ActionDownload extends BaseAction {
 			if (null == meeting) {
 				throw new ExceptionMeetingNotExist(attachment.getMeeting());
 			}
-			if (!business.meetingReadAvailable(effectivePerson, meeting)) {
-				throw new ExceptionMeetingAccessDenied(effectivePerson, meeting.getSubject());
+			if (BooleanUtils.isNotTrue(Config.meeting().getAnonymousAccessAttachment())) {
+				if (!business.meetingReadAvailable(effectivePerson, meeting)) {
+					throw new ExceptionMeetingAccessDenied(effectivePerson, meeting.getSubject());
+				}
 			}
 			StorageMapping mapping = ThisApplication.context().storageMappings().get(Attachment.class,
 					attachment.getStorage());

+ 4 - 4
o2server/x_meeting_assemble_control/src/main/resources/META-INF/x_persistence.xml

@@ -3,31 +3,31 @@
 <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0">
   <persistence-unit name="com.x.meeting.core.entity.Attachment" transaction-type="RESOURCE_LOCAL">
     <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
-    <class>com.x.base.core.entity.StorageObject</class>
     <class>com.x.base.core.entity.SliceJpaObject</class>
+    <class>com.x.base.core.entity.StorageObject</class>
     <class>com.x.meeting.core.entity.Attachment</class>
     <class>com.x.base.core.entity.JpaObject</class>
     <properties/>
   </persistence-unit>
   <persistence-unit name="com.x.meeting.core.entity.Building" transaction-type="RESOURCE_LOCAL">
     <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
-    <class>com.x.base.core.entity.SliceJpaObject</class>
     <class>com.x.meeting.core.entity.Building</class>
+    <class>com.x.base.core.entity.SliceJpaObject</class>
     <class>com.x.base.core.entity.JpaObject</class>
     <properties/>
   </persistence-unit>
   <persistence-unit name="com.x.meeting.core.entity.Meeting" transaction-type="RESOURCE_LOCAL">
     <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
     <class>com.x.base.core.entity.SliceJpaObject</class>
-    <class>com.x.meeting.core.entity.Meeting</class>
     <class>com.x.base.core.entity.JpaObject</class>
+    <class>com.x.meeting.core.entity.Meeting</class>
     <properties/>
   </persistence-unit>
   <persistence-unit name="com.x.meeting.core.entity.Room" transaction-type="RESOURCE_LOCAL">
     <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
     <class>com.x.base.core.entity.SliceJpaObject</class>
-    <class>com.x.meeting.core.entity.Room</class>
     <class>com.x.base.core.entity.JpaObject</class>
+    <class>com.x.meeting.core.entity.Room</class>
     <properties/>
   </persistence-unit>
 </persistence>

+ 7 - 2
o2server/x_meeting_assemble_control/src/main/webapp/describe/sources/com/x/meeting/assemble/control/jaxrs/attachment/ActionDownload.java

@@ -1,7 +1,10 @@
 package com.x.meeting.assemble.control.jaxrs.attachment;
 
+import org.apache.commons.lang3.BooleanUtils;
+
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
+import com.x.base.core.project.config.Config;
 import com.x.base.core.project.config.StorageMapping;
 import com.x.base.core.project.exception.ExceptionWhen;
 import com.x.base.core.project.http.ActionResult;
@@ -26,8 +29,10 @@ public class ActionDownload extends BaseAction {
 			if (null == meeting) {
 				throw new ExceptionMeetingNotExist(attachment.getMeeting());
 			}
-			if (!business.meetingReadAvailable(effectivePerson, meeting)) {
-				throw new ExceptionMeetingAccessDenied(effectivePerson, meeting.getSubject());
+			if (BooleanUtils.isNotTrue(Config.meeting().getAnonymousAccessAttachment())) {
+				if (!business.meetingReadAvailable(effectivePerson, meeting)) {
+					throw new ExceptionMeetingAccessDenied(effectivePerson, meeting.getSubject());
+				}
 			}
 			StorageMapping mapping = ThisApplication.context().storageMappings().get(Attachment.class,
 					attachment.getStorage());