提交 fa72cf8d 编写于 作者: NoSubject's avatar NoSubject

Merge remote-tracking branch 'origin/develop' into develop

......@@ -48,4 +48,4 @@ then
exit 1
fi
fi
setsid ${current_dir}/jvm/aix_java11/bin/java -Dnashorn.args=--no-deprecation-warning --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.arrays=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -javaagent:${current_dir}/console.jar -server -Djava.awt.headless=true -Xms2g -Duser.timezone=GMT+08 -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=20000 -Djava.rmi.server.hostname=127.0.0.1 -jar ${current_dir}/console.jar
setsid ${current_dir}/jvm/aix_java11/bin/java -Dnashorn.args=--no-deprecation-warning --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.arrays=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -javaagent:${current_dir}/console.jar -server -Djava.awt.headless=true -Xms2g -Duser.timezone=GMT+08 -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=0.0.0.0:20000 -Djava.rmi.server.hostname=127.0.0.1 -jar ${current_dir}/console.jar
......@@ -41,4 +41,4 @@ if [ -d ${current_dir}/local/update ]; then
exit 1
fi
fi
setsid ${current_dir}/jvm/arm_java11/bin/java -Dnashorn.args=--no-deprecation-warning --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.arrays=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -javaagent:${current_dir}/console.jar -server -Djava.awt.headless=true -Xms2g -Duser.timezone=GMT+08 -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=20000 -Djava.rmi.server.hostname=127.0.0.1 -jar ${current_dir}/console.jar
setsid ${current_dir}/jvm/arm_java11/bin/java -Dnashorn.args=--no-deprecation-warning --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.arrays=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -javaagent:${current_dir}/console.jar -server -Djava.awt.headless=true -Xms2g -Duser.timezone=GMT+08 -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=0.0.0.0:20000 -Djava.rmi.server.hostname=127.0.0.1 -jar ${current_dir}/console.jar
......@@ -41,4 +41,4 @@ if [ -d ${current_dir}/local/update ]; then
exit 1
fi
fi
setsid ${current_dir}/jvm/linux_java11/bin/java -Dnashorn.args=--no-deprecation-warning --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.arrays=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -javaagent:${current_dir}/console.jar -server -Djava.awt.headless=true -Xms2g -Duser.timezone=GMT+08 -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=20000 -Djava.rmi.server.hostname=127.0.0.1 -jar ${current_dir}/console.jar
setsid ${current_dir}/jvm/linux_java11/bin/java -Dnashorn.args=--no-deprecation-warning --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.arrays=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -javaagent:${current_dir}/console.jar -server -Djava.awt.headless=true -Xms2g -Duser.timezone=GMT+08 -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=0.0.0.0:20000 -Djava.rmi.server.hostname=127.0.0.1 -jar ${current_dir}/console.jar
......@@ -42,4 +42,4 @@ if [ -d ${current_dir}/local/update ]; then
exit 1
fi
fi
sudo ${current_dir}/jvm/macos_java11/bin/java -Dnashorn.args=--no-deprecation-warning --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.arrays=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -javaagent:${current_dir}/console.jar -server -Djava.awt.headless=true -Xms2g -Duser.timezone=GMT+08 -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=20000 -Djava.rmi.server.hostname=127.0.0.1 -jar ${current_dir}/console.jar
sudo ${current_dir}/jvm/macos_java11/bin/java -Dnashorn.args=--no-deprecation-warning --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.arrays=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -javaagent:${current_dir}/console.jar -server -Djava.awt.headless=true -Xms2g -Duser.timezone=GMT+08 -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=0.0.0.0:20000 -Djava.rmi.server.hostname=127.0.0.1 -jar ${current_dir}/console.jar
......@@ -41,4 +41,4 @@ if [ -d ${current_dir}/local/update ]; then
exit 1
fi
fi
setsid ${current_dir}/jvm/mips_java11/bin/java -Dnashorn.args=--no-deprecation-warning --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.arrays=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -javaagent:${current_dir}/console.jar -server -Djava.awt.headless=true -Xms2g -Duser.timezone=GMT+08 -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=20000 -Djava.rmi.server.hostname=127.0.0.1 -jar ${current_dir}/console.jar
setsid ${current_dir}/jvm/mips_java11/bin/java -Dnashorn.args=--no-deprecation-warning --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.arrays=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -javaagent:${current_dir}/console.jar -server -Djava.awt.headless=true -Xms2g -Duser.timezone=GMT+08 -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=0.0.0.0:20000 -Djava.rmi.server.hostname=127.0.0.1 -jar ${current_dir}/console.jar
......@@ -41,4 +41,4 @@ if [ -d ${current_dir}/local/update ]; then
exit 1
fi
fi
setsid ${current_dir}/jvm/raspi_java11/bin/java -Dnashorn.args=--no-deprecation-warning --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.arrays=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -javaagent:${current_dir}/console.jar -server -Djava.awt.headless=true -Xms2g -Duser.timezone=GMT+08 -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=20000 -Djava.rmi.server.hostname=127.0.0.1 -jar ${current_dir}/console.jar
setsid ${current_dir}/jvm/raspi_java11/bin/java -Dnashorn.args=--no-deprecation-warning --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.arrays=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -javaagent:${current_dir}/console.jar -server -Djava.awt.headless=true -Xms2g -Duser.timezone=GMT+08 -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=0.0.0.0:20000 -Djava.rmi.server.hostname=127.0.0.1 -jar ${current_dir}/console.jar
......@@ -37,4 +37,4 @@ if exist "%~dp0local\update" (
)
)
@echo on
"%~dp0jvm\windows_java11\bin\java" -javaagent:"%~dp0console.jar" -server -Xms2g -Dnashorn.args=--no-deprecation-warning --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.arrays=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -Duser.timezone=GMT+08 -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=20000 -Djava.rmi.server.hostname=127.0.0.1 -jar "%~dp0console.jar"
"%~dp0jvm\windows_java11\bin\java" -javaagent:"%~dp0console.jar" -server -Xms2g -Dnashorn.args=--no-deprecation-warning --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED --add-exports jdk.scripting.nashorn/jdk.nashorn.internal.runtime.arrays=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -Duser.timezone=GMT+08 -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=0.0.0.0:20000 -Djava.rmi.server.hostname=127.0.0.1 -jar "%~dp0console.jar"
......@@ -62,7 +62,7 @@ public class GBaseDictionary extends DBDictionary {
floatTypeName = "FLOAT";
doubleTypeName = "DOUBLE PRECISION";
bitTypeName = "BOOLEAN";
blobTypeName = "BYTE";
blobTypeName = "BLOB";
dateTypeName = "DATE";
timeTypeName = "DATETIME HOUR TO SECOND";
timestampTypeName = "DATETIME YEAR TO FRACTION(5)";
......
......@@ -134,6 +134,7 @@ public class Config {
public static final String DIR_LOCAL_BACKUP = "local/backup";
public static final String DIR_LOCAL_DUMP = "local/dump";
public static final String DIR_LOCAL_REPOSITORY = "local/repository";
public static final String DIR_LOCAL_REPOSITORY_INDEX = "local/repository/index";
public static final String DIR_LOCAL_UPDATE = "local/update";
public static final String DIR_LOCAL_TEMP = "local/temp";
public static final String DIR_LOCAL_TEMP_CLASSES = "local/temp/classes";
......@@ -1465,4 +1466,12 @@ public class Config {
return path;
}
public static Path path_local_repository_index(boolean force) throws IOException, URISyntaxException {
Path path = Paths.get(base(), DIR_LOCAL_REPOSITORY_INDEX);
if ((!Files.exists(path)) && force) {
Files.createDirectories(path);
}
return path;
}
}
......@@ -21,7 +21,7 @@ public class General extends ConfigObject {
private static final Boolean DEFAULT_WEBSOCKETENABLE = true;
private static final Boolean DEFAULT_CONFIGAPIENABLE = true;
private static final List<String> DEFAULT_SCRIPTINGBLOCKEDCLASSES = Arrays.asList(Runtime.class.getName(),
File.class.getName(), Path.class.getName());
File.class.getName(), Path.class.getName(), ProcessBuilder.class.getName());
private static final Boolean DEFAULT_REQUESTLOGENABLE = false;
private static final Integer DEFAULT_REQUESTLOGRETAINDAYS = 7;
private static final Boolean DEFAULT_REQUESTLOGBODYENABLE = false;
......
package com.x.cms.assemble.control;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import com.x.cms.core.entity.CategoryInfo;
import com.x.cms.core.entity.Document;
......@@ -418,6 +420,7 @@ public class Business {
/**
* 是否是文档的编辑者
* 文档不存在判断是否是分类或应用的发布者
* @param person
* @param appInfo
* @return
......@@ -427,8 +430,8 @@ public class Business {
if (isManager(person)) {
return true;
}
List<String> unitNames = null;
List<String> groupNames = null;
List<String> unitNames = this.organization().unit().listWithPersonSupNested(person.getDistinguishedName());
List<String> groupNames = this.organization().group().listWithPerson(person.getDistinguishedName());
if(document!=null){
if( ListTools.isNotEmpty( document.getAuthorPersonList() )) {
if( document.getAuthorPersonList().contains( getShortTargetFlag(person.getDistinguishedName()) ) ) {
......@@ -436,65 +439,52 @@ public class Business {
}
}
if( ListTools.isNotEmpty( document.getAuthorUnitList() )) {
unitNames = this.organization().unit()
.listWithPersonSupNested(person.getDistinguishedName());
if( ListTools.containsAny( getShortTargetFlag(unitNames), document.getAuthorUnitList())) {
return true;
}
}
if( ListTools.isNotEmpty( document.getAuthorGroupList() )) {
groupNames = this.organization().group().listWithPerson(person.getDistinguishedName());
if( ListTools.containsAny( getShortTargetFlag(groupNames), document.getAuthorGroupList())) {
return true;
}
}
}
if (categoryInfo != null) {
if (ListTools.isNotEmpty(categoryInfo.getManageablePersonList())) {
if (categoryInfo.getManageablePersonList().contains(person.getDistinguishedName())) {
return true;
}
Set<String> catePersonList = new HashSet<>(categoryInfo.getManageablePersonList());
Set<String> cateUnitList = new HashSet<>(categoryInfo.getManageableUnitList());
Set<String> cateGroupList = new HashSet<>(categoryInfo.getManageableGroupList());
if(document == null){
catePersonList.addAll(categoryInfo.getPublishablePersonList());
cateUnitList.addAll(categoryInfo.getPublishableUnitList());
cateGroupList.addAll(categoryInfo.getPublishableGroupList());
}
if (ListTools.isNotEmpty(categoryInfo.getManageableUnitList())) {
if(unitNames == null) {
unitNames = this.organization().unit()
.listWithPersonSupNested(person.getDistinguishedName());
}
if (ListTools.containsAny(unitNames, categoryInfo.getManageableUnitList())) {
return true;
}
if (catePersonList.size() > 0 && catePersonList.contains(person.getDistinguishedName())) {
return true;
}
if (ListTools.isNotEmpty(categoryInfo.getManageableGroupList())) {
if(groupNames == null) {
groupNames = this.organization().group().listWithPerson(person.getDistinguishedName());
}
if (ListTools.containsAny(groupNames, categoryInfo.getManageableGroupList())) {
return true;
}
if (cateUnitList.size() > 0 && ListTools.containsAny(unitNames, new ArrayList<>(cateUnitList))) {
return true;
}
if (cateGroupList.size() > 0 && ListTools.containsAny(groupNames, new ArrayList<>(cateGroupList))) {
return true;
}
}
if (appInfo != null) {
if (ListTools.isNotEmpty(appInfo.getManageablePersonList())) {
if (appInfo.getManageablePersonList().contains(person.getDistinguishedName())) {
return true;
}
Set<String> appPersonList = new HashSet<>(appInfo.getManageablePersonList());
Set<String> appUnitList = new HashSet<>(appInfo.getManageableUnitList());
Set<String> appGroupList = new HashSet<>(appInfo.getManageableGroupList());
if(document == null){
appPersonList.addAll(appInfo.getPublishablePersonList());
appUnitList.addAll(appInfo.getPublishableUnitList());
appGroupList.addAll(appInfo.getPublishableGroupList());
}
if (ListTools.isNotEmpty(appInfo.getManageableUnitList())) {
if(unitNames == null) {
unitNames = this.organization().unit()
.listWithPersonSupNested(person.getDistinguishedName());
}
if (ListTools.containsAny(unitNames, appInfo.getManageableUnitList())) {
return true;
}
if (appPersonList.size() > 0 && appPersonList.contains(person.getDistinguishedName())) {
return true;
}
if (ListTools.isNotEmpty(appInfo.getManageableGroupList())) {
if(groupNames == null) {
groupNames = this.organization().group().listWithPerson(person.getDistinguishedName());
}
if (ListTools.containsAny(groupNames, appInfo.getManageableGroupList())) {
return true;
}
if (appUnitList.size() > 0 && ListTools.containsAny(unitNames, new ArrayList<>(appUnitList))) {
return true;
}
if (appGroupList.size() > 0 && ListTools.containsAny(groupNames, new ArrayList<>(appGroupList))) {
return true;
}
}
return false;
......
......@@ -35,7 +35,7 @@ public class DocumentQueryService {
public Document get( String id ) throws Exception {
if( StringUtils.isEmpty( id ) ){
throw new Exception("id is null!");
return null;
}
try ( EntityManagerContainer emc = EntityManagerContainerFactory.instance().create() ) {
return documentInfoService.get( emc, id );
......
......@@ -114,7 +114,6 @@ public class MeetingFactory extends AbstractFactory {
Root<Meeting> root = cq.from(Meeting.class);
Predicate p = cb.isMember(person, root.get(Meeting_.invitePersonList));
p = cb.and(p, cb.isMember(person, root.get(Meeting_.rejectPersonList)));
p = cb.and(p, cb.lessThan(root.get(Meeting_.completedTime), new Date()));
cq.select(root.get(Meeting_.id)).where(p);
return em.createQuery(cq).getResultList();
}
......@@ -170,7 +169,7 @@ public class MeetingFactory extends AbstractFactory {
cq.select(root.get(Meeting_.id)).where(p);
return em.createQuery(cq).getResultList();
}
public List<String> listWithDateAndRoom(Date start, Date end,String roomId) throws Exception {
EntityManager em = this.entityManagerContainer().get(Meeting.class);
CriteriaBuilder cb = em.getCriteriaBuilder();
......@@ -181,7 +180,7 @@ public class MeetingFactory extends AbstractFactory {
Predicate p = cb.greaterThanOrEqualTo(root.get(Meeting_.completedTime), start);
p = cb.and(p, cb.lessThanOrEqualTo(root.get(Meeting_.completedTime), end));
p = cb.and(p, cb.equal(root.get(Meeting_.room), roomId));
cq.select(root.get(Meeting_.id)).where(p);
return em.createQuery(cq).getResultList();
}
......@@ -264,4 +263,4 @@ public class MeetingFactory extends AbstractFactory {
return em.createQuery(cq).setMaxResults(200).getResultList();
}
}
\ No newline at end of file
}
......@@ -13,6 +13,7 @@ import org.apache.commons.lang3.math.NumberUtils;
import com.x.base.core.container.EntityManagerContainer;
import com.x.base.core.container.factory.EntityManagerContainerFactory;
import com.x.base.core.entity.JpaObject;
import com.x.base.core.entity.JpaObject_;
import com.x.base.core.project.bean.WrapCopier;
import com.x.base.core.project.bean.WrapCopierFactory;
import com.x.base.core.project.http.ActionResult;
......@@ -26,39 +27,38 @@ import com.x.message.core.entity.Instant_;
class ActionListWithCurrentPersonWithoutIMDesc extends BaseAction {
private static final Logger LOGGER= LoggerFactory.getLogger(ActionListWithCurrentPersonWithoutIMDesc.class);
private static final Logger LOGGER = LoggerFactory.getLogger(ActionListWithCurrentPersonWithoutIMDesc.class);
ActionResult<List<Wo>> execute(EffectivePerson effectivePerson, Integer count) throws Exception {
LOGGER.debug("execute:{}, count:{}.", effectivePerson::getDistinguishedName, () -> count);
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
Business business = new Business(emc);
ActionResult<List<Wo>> result = new ActionResult<>();
List<Wo> wos = this.list(business, NumberUtils.min(200, NumberUtils.max(1, count)), effectivePerson);
result.setData(wos);
return result;
}
}
ActionResult<List<Wo>> execute(EffectivePerson effectivePerson, Integer count) throws Exception {
private List<Wo> list(Business business, Integer count, EffectivePerson effectivePerson) throws Exception {
EntityManager em = business.entityManagerContainer().get(Instant.class);
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Instant> cq = cb.createQuery(Instant.class);
Root<Instant> root = cq.from(Instant.class);
Predicate p = cb.equal(root.get(Instant_.person), effectivePerson.getDistinguishedName());
p = cb.and(p, cb.notEqual(root.get(Instant_.type), MessageConnector.TYPE_IM_CREATE));
p = cb.and(p, cb.isNotEmpty(root.get(Instant_.consumerList)));
List<Instant> os = em.createQuery(cq.select(root).where(p).orderBy(cb.desc(root.get(Instant_.createTime))))
.setMaxResults(count).getResultList();
return Wo.copier.copy(os);
}
LOGGER.debug("execute:{}, count:{}.", effectivePerson::getDistinguishedName, () -> count);
public static class Wo extends Instant {
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
Business business = new Business(emc);
ActionResult<List<Wo>> result = new ActionResult<>();
List<Wo> wos = this.list(business, NumberUtils.min(200, NumberUtils.max(1, count)), effectivePerson);
result.setData(wos);
return result;
}
}
private static final long serialVersionUID = 681982898431236763L;
static WrapCopier<Instant, Wo> copier = WrapCopierFactory.wo(Instant.class, Wo.class, null,
JpaObject.FieldsInvisible);
}
private List<Wo> list(Business business, Integer count, EffectivePerson effectivePerson) throws Exception {
EntityManager em = business.entityManagerContainer().get(Instant.class);
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Instant> cq = cb.createQuery(Instant.class);
Root<Instant> root = cq.from(Instant.class);
Predicate p = cb.equal(root.get(Instant_.person), effectivePerson.getDistinguishedName());
p = cb.and(p, cb.notEqual(root.get(Instant_.type), MessageConnector.TYPE_IM_CREATE));
List<Instant> os = em.createQuery(cq.select(root).where(p).orderBy(cb.desc(root.get(JpaObject_.createTime))))
.setMaxResults(count).getResultList();
return Wo.copier.copy(os);
}
public static class Wo extends Instant {
private static final long serialVersionUID = 681982898431236763L;
static WrapCopier<Instant, Wo> copier = WrapCopierFactory.wo(Instant.class, Wo.class, null,
JpaObject.FieldsInvisible);
}
}
\ No newline at end of file
package com.x.message.core.entity;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
......@@ -10,14 +8,9 @@ import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Lob;
import javax.persistence.OrderColumn;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import org.apache.openjpa.persistence.PersistentCollection;
import org.apache.openjpa.persistence.jdbc.ContainerTable;
import org.apache.openjpa.persistence.jdbc.ElementColumn;
import org.apache.openjpa.persistence.jdbc.ElementIndex;
import org.apache.openjpa.persistence.jdbc.Index;
import com.x.base.core.entity.JpaObject;
......@@ -99,16 +92,6 @@ public class Instant extends SliceJpaObject {
@CheckPersist(allowEmpty = false)
private Boolean consumed;
public static final String consumerList_FIELDNAME = "consumerList";
@FieldDescribe("消费对象.")
@PersistentCollection(fetch = FetchType.EAGER)
@OrderColumn(name = ORDERCOLUMNCOLUMN)
@ContainerTable(name = TABLE + ContainerTableNameMiddle
+ consumerList_FIELDNAME, joinIndex = @Index(name = TABLE + consumerList_FIELDNAME + JoinIndexNameSuffix))
@ElementColumn(length = JpaObject.length_64B, name = ColumnNamePrefix + consumerList_FIELDNAME)
@ElementIndex(name = TABLE + consumerList_FIELDNAME + ElementIndexNameSuffix)
private List<String> consumerList;
public String getBody() {
return body;
}
......@@ -125,14 +108,6 @@ public class Instant extends SliceJpaObject {
this.type = type;
}
public List<String> getConsumerList() {
return consumerList;
}
public void setConsumerList(List<String> consumerList) {
this.consumerList = consumerList;
}
public String getPerson() {
return person;
}
......
package com.x.organization.assemble.personal.jaxrs.regist;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
import com.google.gson.JsonElement;
import com.x.base.core.container.EntityManagerContainer;
import com.x.base.core.container.factory.EntityManagerContainerFactory;
......@@ -13,21 +10,27 @@ import com.x.base.core.project.config.Config;
import com.x.base.core.project.gson.GsonPropertyObject;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
import com.x.base.core.project.jaxrs.WoId;
import com.x.base.core.project.jaxrs.WrapBoolean;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
import com.x.base.core.project.tools.StringTools;
import com.x.base.core.project.x_organization_assemble_control;
import com.x.organization.assemble.personal.Business;
import com.x.organization.assemble.personal.ThisApplication;
import com.x.organization.core.entity.Person;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
class ActionCreate extends BaseAction {
private static Logger logger = LoggerFactory.getLogger(ActionCreate.class);
ActionResult<Wo> execute(EffectivePerson effectivePerson, JsonElement jsonElement) throws Exception {
ActionResult<Wo> result = new ActionResult<>();
Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
Person person;
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
ActionResult<Wo> result = new ActionResult<>();
Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
Business business = new Business(emc);
String name = wi.getName();
String passwd = wi.getPassword();
......@@ -65,7 +68,7 @@ class ActionCreate extends BaseAction {
throw new ExceptionInvalidPassword(Config.person().getPasswordRegexHint());
}
if (null == genderType) {
throw new ExceptionInvalidGenderType();
genderType = GenderType.d;
}
if (StringUtils.equals(com.x.base.core.project.config.Person.REGISTER_TYPE_CODE,
Config.person().getRegister())) {
......@@ -79,15 +82,21 @@ class ActionCreate extends BaseAction {
throw new ExceptionInvalidCaptcha();
}
}
this.register(business, name, passwd, genderType, mobile, mail);
Wo wo = new Wo();
wo.setValue(true);
result.setData(wo);
return result;
if(StringUtils.isNotBlank(wi.getUnit()) && business.unit().pick(wi.getUnit()) == null){
throw new ExceptionInvalidUnit(wi.getUnit());
}
person = this.register(business, name, passwd, genderType, mobile, mail);
}
if(StringUtils.isNotBlank(wi.getUnit())){
this.createIdentity(person, wi.getUnit());
}
Wo wo = new Wo();
wo.setValue(true);
result.setData(wo);
return result;
}
private void register(Business business, String name, String password, GenderType genderType, String mobile, String mail)
private Person register(Business business, String name, String password, GenderType genderType, String mobile, String mail)
throws Exception {
Person o = new Person();
o.setName(name);
......@@ -98,6 +107,46 @@ class ActionCreate extends BaseAction {
business.entityManagerContainer().beginTransaction(Person.class);
business.entityManagerContainer().persist(o, CheckPersistType.all);
business.entityManagerContainer().commit();
return o;
}
private void createIdentity(Person person, String unit) throws Exception {
WrapIdentity identity = new WrapIdentity();
identity.setName(person.getName());
identity.setPerson(person.getId());
identity.setUnit(unit);
ThisApplication.context().applications().postQuery(x_organization_assemble_control.class,
"identity", identity);
}
private static class WrapIdentity extends GsonPropertyObject {
private String person;
private String name;
private String unit;
public String getPerson() {
return person;
}
public void setPerson(String person) {
this.person = person;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
}
public static class Wi extends GsonPropertyObject {
......@@ -126,6 +175,9 @@ class ActionCreate extends BaseAction {
@FieldDescribe("邮件地址(非必填).")
private String mail;
@FieldDescribe("归属组织(非必填).")
private String unit;
public String getName() {
return name;
}
......@@ -189,6 +241,14 @@ class ActionCreate extends BaseAction {
public void setMail(String mail) {
this.mail = mail;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
}
public static class Wo extends WrapBoolean {
......
package com.x.organization.assemble.personal.jaxrs.regist;
import com.x.base.core.project.exception.PromptException;
class ExceptionInvalidUnit extends PromptException {
private static final long serialVersionUID = 6647381353782082070L;
ExceptionInvalidUnit(String unit) {
super("指定的组织不存在:{}.", unit);
}
}
......@@ -54,7 +54,7 @@ public class MessageFactory {
public static void workCompleted_delete(WorkCompleted workCompleted) throws Exception {
String title = "删除完成工作:" + adjustTitle(workCompleted);
MessageConnector.send(MessageConnector.TYPE_WORKCOMPLETED_CREATE, title, "", workCompleted);
MessageConnector.send(MessageConnector.TYPE_WORKCOMPLETED_DELETE, title, "", workCompleted);
}
public static void task_press(Task task, String from) throws Exception {
......@@ -242,4 +242,4 @@ public class MessageFactory {
return title;
}
}
\ No newline at end of file
}
......@@ -54,6 +54,7 @@ public class ActionDelete extends BaseAction {
emc.beginTransaction(WorkCompleted.class);
for (WorkCompleted o : emc.listEqual(WorkCompleted.class, WorkCompleted.job_FIELDNAME, job)) {
emc.remove(o);
MessageFactory.workCompleted_delete(o);
Wo wo = new Wo();
wo.setId(o.getId());
wos.add(wo);
......
......@@ -504,7 +504,8 @@ o2.LP.authentication = {
"inputYourNewPassword" : "Enter a new password",
"changePasswordSuccess" : "Successfully change password",
"userAppCameraHtml" : "<div>open <div styles='bindTipLinkArea'>APP </div> and scan</div>",
"loginToPage": "Login to the page"
"loginToPage": "Login to the page",
"accessError": "Failed to access background service"
};
o2.LP.script = {
......
......@@ -510,7 +510,8 @@ o2.LP.authentication = {
"inputYourNewPassword" : "请输入新密码",
"changePasswordSuccess" : "修改密码成功",
"userAppCameraHtml" : "<div>打开<div styles='bindTipLinkArea'>APP</div>扫一扫</div>",
"loginToPage": "登录网页版"
"loginToPage": "登录网页版",
"accessError": "访问后台服务失败"
};
o2.LP.script = {
......
......@@ -46,46 +46,62 @@ MWF.xDesktop.Authentication = new Class({
},
loadLogin: function (node) {
if(node)this.loginNode = node;
if( !node && this.loginNode )node = this.loginNode;
if (layout.config.loginPage && layout.config.loginPage.enable && layout.config.loginPage.portal) {
MWF.xDesktop.loadPortal(layout.config.loginPage.portal, this.options.loginParameter);
this.fireEvent("openLogin");
} else {
this.popupOptions = {
"draggable": false,
"closeAction": false,
"hasMask": false,
"relativeToApp": false
};
this.popupPara = {
container: node
};
this.postLogin = function (json) {
layout.desktop.session.user = json.data;
layout.session.user = json.data;
layout.session.token = layout.session.user.token;
var user = layout.desktop.session.user;
if (!user.identityList) user.identityList = [];
if (user.roleList) {
var userRoleName = [];
user.roleList.each(function (role) {
userRoleName.push(role.substring(0, role.indexOf("@")));
});
user.roleList = user.roleList.concat(userRoleName);
}
var roleLCList = (user.roleList || []).map(function(role){
return role.toLowerCase();
}.bind(this));
if( roleLCList.isIntersect(["systemmanager","securitymanager","auditmanager"]) ){
window.location = "../x_desktop/app.html?app=ThreeMember";
}else{
window.location.reload();
o2.Actions.load("x_organization_assemble_authentication").EchoAction.get(function () {
if (node) this.loginNode = node;
if (!node && this.loginNode) node = this.loginNode;
if (layout.config.loginPage && layout.config.loginPage.enable && layout.config.loginPage.portal) {
MWF.xDesktop.loadPortal(layout.config.loginPage.portal, this.options.loginParameter);
this.fireEvent("openLogin");
} else {
this.popupOptions = {
"draggable": false,
"closeAction": false,
"hasMask": false,
"relativeToApp": false
};
this.popupPara = {
container: node
};
this.postLogin = function (json) {
layout.desktop.session.user = json.data;
layout.session.user = json.data;
layout.session.token = layout.session.user.token;
var user = layout.desktop.session.user;
if (!user.identityList) user.identityList = [];
if (user.roleList) {
var userRoleName = [];
user.roleList.each(function (role) {
userRoleName.push(role.substring(0, role.indexOf("@")));
});
user.roleList = user.roleList.concat(userRoleName);
}
var roleLCList = (user.roleList || []).map(function (role) {
return role.toLowerCase();
}.bind(this));
if (roleLCList.isIntersect(["systemmanager", "securitymanager", "auditmanager"])) {
window.location = "../x_desktop/app.html?app=ThreeMember";
} else {
window.location.reload();
}
}.bind(this);
this.openLoginForm(this.popupOptions);
this.fireEvent("openLogin");
}
}.bind(this), function (xhr) {
var message;
if (xhr) {
try {
var responseJSON = JSON.parse(xhr.responseText);
message = responseJSON.message; //message为错误提示文本
} catch (e) {
}
}.bind(this);
this.openLoginForm(this.popupOptions);
this.fireEvent("openLogin");
}
}
if (!message) message = MWF.LP.authentication.accessError;
new Element("div", {
"style": "font-size:16px;font-weight:bold;",
"text": message
}).inject(node);
}.bind(this));
},
safeLogout: function(){
o2.Actions.get("x_organization_assemble_authentication").safeLogout(function () {
......
......@@ -2061,7 +2061,14 @@ if (!MWF.xScript || !MWF.xScript.PageEnvironment) {
if (category) {
options["category"] = category
}
if (window.o2android && window.o2android.createO2CmsDocument){
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "createO2CmsDocument",
data: options
};
window.o2android.postMessage(JSON.stringify(body));
return;
} else if (window.o2android && window.o2android.createO2CmsDocument){
window.o2android.createO2CmsDocument(JSON.stringify(options));
return;
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.createO2CmsDocument) {
......
......@@ -4569,7 +4569,14 @@ MWF.xScript.ViewEnvironment = function (ev) {
if (category) {
options["category"] = category
}
if (window.o2android && window.o2android.createO2CmsDocument){
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "createO2CmsDocument",
data: options
};
window.o2android.postMessage(JSON.stringify(body));
return;
} else if (window.o2android && window.o2android.createO2CmsDocument){
window.o2android.createO2CmsDocument(JSON.stringify(options));
return;
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.createO2CmsDocument) {
......
......@@ -94,7 +94,7 @@ MWF.xApplication.process.FormDesigner.Module.Html = MWF.FCHtml = new Class({
},
_setOtherNodeEvent: function(){
this.textarea.focus();
// this.textarea.focus();
this.textarea.addEvents({
"keydown": function(e){
......@@ -119,6 +119,15 @@ MWF.xApplication.process.FormDesigner.Module.Html = MWF.FCHtml = new Class({
this.json.text = this.textarea.get("value");
}.bind(this)
});
this.node.addEvents({
"mouseenter": function () {
this.textarea.disabled = false;
}.bind(this),
"mouseleave": function () {
this.textarea.disabled = true;
}.bind(this)
})
},
_setEditStyle_custom: function(name){
if (name=="text"){
......
......@@ -2786,13 +2786,13 @@ MWF.xApplication.query.Query.Viewer.Actionbar = new Class({
var actionNode = new Element("div", {
"id": tool.id,
"MWFnodetype": tool.type,
"MWFButtonImage": path+""+this.form.options.style+"/custom/"+iconPath+tool.img,
"MWFButtonImage": path+""+this.options.style+"/custom/"+iconPath+tool.img,
"title": tool.title,
"MWFButtonAction": "runCustomAction",
"MWFButtonText": tool.text
}).inject(node);
if( this.json.customIconOverStyle ){
actionNode.set("MWFButtonImageOver" , path+""+this.form.options.style +"/custom/"+this.json.customIconOverStyle+ "/" +tool.img );
actionNode.set("MWFButtonImageOver" , path+""+this.options.style +"/custom/"+this.json.customIconOverStyle+ "/" +tool.img );
}
if( tool.properties ){
actionNode.set(tool.properties);
......
......@@ -100,6 +100,21 @@ if (!window.layout || !layout.desktop || !layout.addReady) {
};
var _openWorkAndroid = function (options) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2Work",
data: {
title : options.title || ""
}
};
if (options.workId) {
body.data.workId = options.workId;
} else if (options.workCompletedId) {
body.data.workCompletedId = options.workCompletedId;
}
window.o2android.postMessage(JSON.stringify(body));
return true;
}
if (window.o2android && window.o2android.openO2Work) {
if (options.workId) {
window.o2android.openO2Work(options.workId, "", options.title || options.docTitle || "");
......@@ -158,7 +173,17 @@ if (!window.layout || !layout.desktop || !layout.addReady) {
var title = typeOf(options) === "object" ? (options.docTitle || options.title) : "";
title = title || "";
var par = "app=" + encodeURIComponent(appNames) + "&status=" + encodeURIComponent((statusObj) ? JSON.encode(statusObj) : "") + "&option=" + encodeURIComponent((options) ? JSON.encode(options) : "");
if (window.o2android && window.o2android.openO2CmsDocumentV2) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2CmsDocument",
data: {
docId : options.documentId,
title: title,
options: options
}
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2CmsDocumentV2) {
window.o2android.openO2CmsDocumentV2(options.documentId, title, JSON.stringify(options));
} else if (window.o2android && window.o2android.openO2CmsDocument) {
window.o2android.openO2CmsDocument(options.documentId, title);
......@@ -173,7 +198,16 @@ if (!window.layout || !layout.desktop || !layout.addReady) {
};
var _openCms = function (appNames, options, statusObj) {
var par = "app=" + encodeURIComponent(appNames) + "&status=" + encodeURIComponent((statusObj) ? JSON.encode(statusObj) : "") + "&option=" + encodeURIComponent((options) ? JSON.encode(options) : "");
if (window.o2android && window.o2android.openO2CmsApplication) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2CmsApplication",
data: {
appId : options.columnId,
title: options.title || ""
}
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2CmsApplication) {
window.o2android.openO2CmsApplication(options.columnId, options.title || "");
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.openO2CmsApplication) {
window.webkit.messageHandlers.openO2CmsApplication.postMessage(options.columnId);
......@@ -183,7 +217,13 @@ if (!window.layout || !layout.desktop || !layout.addReady) {
};
var _openMeeting = function (appNames, options, statusObj) {
var par = "app=" + encodeURIComponent(appNames) + "&status=" + encodeURIComponent((statusObj) ? JSON.encode(statusObj) : "") + "&option=" + encodeURIComponent((options) ? JSON.encode(options) : "");
if (window.o2android && window.o2android.openO2Meeting) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2Meeting",
data: {}
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2Meeting) {
window.o2android.openO2Meeting("");
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.openO2Meeting) {
window.webkit.messageHandlers.openO2Meeting.postMessage("");
......@@ -194,7 +234,13 @@ if (!window.layout || !layout.desktop || !layout.addReady) {
var _openCalendar = function (appNames, options, statusObj) {
var par = "app=" + encodeURIComponent(appNames) + "&status=" + encodeURIComponent((statusObj) ? JSON.encode(statusObj) : "") + "&option=" + encodeURIComponent((options) ? JSON.encode(options) : "");
if (window.o2android && window.o2android.openO2Calendar) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2Calendar",
data: {}
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2Calendar) {
window.o2android.openO2Calendar("");
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.openO2Calendar) {
window.webkit.messageHandlers.openO2Calendar.postMessage("");
......@@ -208,7 +254,13 @@ if (!window.layout || !layout.desktop || !layout.addReady) {
if (tab === "done") tab = "taskCompleted";
if (tab === "readed") tab = "readCompleted";
if (window.o2android && window.o2android.openO2WorkSpace) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2WorkSpace",
data: { type: tab }
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2WorkSpace) {
window.o2android.openO2WorkSpace(tab);
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.openO2WorkSpace) {
window.webkit.messageHandlers.openO2WorkSpace.postMessage(tab);
......
......@@ -285,6 +285,21 @@ o2.addReady(function () {
};
var _openWorkAndroid = function (options) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2Work",
data: {
title : options.title || ""
}
};
if (options.workId) {
body.data.workId = options.workId;
} else if (options.workCompletedId) {
body.data.workCompletedId = options.workCompletedId;
}
window.o2android.postMessage(JSON.stringify(body));
return true;
}
if (window.o2android && window.o2android.openO2Work) {
if (options.workId) {
window.o2android.openO2Work(options.workId, "", options.title || "");
......@@ -339,7 +354,17 @@ o2.addReady(function () {
var title = typeOf(options) === "object" ? (options.docTitle || options.title) : "";
title = title || "";
var par = "app=" + encodeURIComponent(appNames) + "&status=" + encodeURIComponent((statusObj) ? JSON.encode(statusObj) : "") + "&option=" + encodeURIComponent((options) ? JSON.encode(options) : "");
if (window.o2android && window.o2android.openO2CmsDocumentV2) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2CmsDocument",
data: {
docId : options.documentId,
title: title,
options: options
}
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2CmsDocumentV2) {
window.o2android.openO2CmsDocumentV2(options.documentId, title, JSON.stringify(options));
} else if (window.o2android && window.o2android.openO2CmsDocument) {
window.o2android.openO2CmsDocument(options.documentId, title);
......@@ -351,7 +376,16 @@ o2.addReady(function () {
};
var _openCms = function (appNames, options, statusObj) {
var par = "app=" + encodeURIComponent(appNames) + "&status=" + encodeURIComponent((statusObj) ? JSON.encode(statusObj) : "") + "&option=" + encodeURIComponent((options) ? JSON.encode(options) : "");
if (window.o2android && window.o2android.openO2CmsApplication) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2CmsApplication",
data: {
appId : options.columnId,
title: options.title || ""
}
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2CmsApplication) {
window.o2android.openO2CmsApplication(options.columnId, options.title || "");
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.openO2CmsApplication) {
window.webkit.messageHandlers.openO2CmsApplication.postMessage(options.columnId);
......@@ -361,7 +395,13 @@ o2.addReady(function () {
};
var _openMeeting = function (appNames, options, statusObj) {
var par = "app=" + encodeURIComponent(appNames) + "&status=" + encodeURIComponent((statusObj) ? JSON.encode(statusObj) : "") + "&option=" + encodeURIComponent((options) ? JSON.encode(options) : "");
if (window.o2android && window.o2android.openO2Meeting) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2Meeting",
data: {}
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2Meeting) {
window.o2android.openO2Meeting("");
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.openO2Meeting) {
window.webkit.messageHandlers.openO2Meeting.postMessage("");
......@@ -372,7 +412,13 @@ o2.addReady(function () {
var _openCalendar = function (appNames, options, statusObj) {
var par = "app=" + encodeURIComponent(appNames) + "&status=" + encodeURIComponent((statusObj) ? JSON.encode(statusObj) : "") + "&option=" + encodeURIComponent((options) ? JSON.encode(options) : "");
if (window.o2android && window.o2android.openO2Calendar) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2Calendar",
data: {}
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2Calendar) {
window.o2android.openO2Calendar("");
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.openO2Calendar) {
window.webkit.messageHandlers.openO2Calendar.postMessage("");
......@@ -386,7 +432,13 @@ o2.addReady(function () {
if (tab === "done") tab = "taskCompleted";
if (tab === "readed") tab = "readCompleted";
if (window.o2android && window.o2android.openO2WorkSpace) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2WorkSpace",
data: { type: tab }
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2WorkSpace) {
window.o2android.openO2WorkSpace(tab);
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.openO2WorkSpace) {
window.webkit.messageHandlers.openO2WorkSpace.postMessage(tab);
......
......@@ -236,6 +236,21 @@ o2.addReady(function () {
};
var _openWorkAndroid = function (options) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2Work",
data: {
title : options.title || ""
}
};
if (options.workId) {
body.data.workId = options.workId;
} else if (options.workCompletedId) {
body.data.workCompletedId = options.workCompletedId;
}
window.o2android.postMessage(JSON.stringify(body));
return true;
}
if (window.o2android && window.o2android.openO2Work) {
if (options.workId) {
window.o2android.openO2Work(options.workId, "", options.title || "");
......@@ -286,7 +301,17 @@ o2.addReady(function () {
var title = typeOf(options) === "object" ? (options.docTitle || options.title) : "";
title = title || "";
var par = "app=" + encodeURIComponent(appNames) + "&status=" + encodeURIComponent((statusObj) ? JSON.encode(statusObj) : "") + "&option=" + encodeURIComponent((options) ? JSON.encode(options) : "");
if (window.o2android && window.o2android.openO2CmsDocumentV2) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2CmsDocument",
data: {
docId : options.documentId,
title: title,
options: options
}
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2CmsDocumentV2) {
window.o2android.openO2CmsDocumentV2(options.documentId, title, JSON.stringify(options));
} else if (window.o2android && window.o2android.openO2CmsDocument) {
window.o2android.openO2CmsDocument(options.documentId, title);
......@@ -298,7 +323,16 @@ o2.addReady(function () {
};
var _openCms = function (appNames, options, statusObj) {
var par = "app=" + encodeURIComponent(appNames) + "&status=" + encodeURIComponent((statusObj) ? JSON.encode(statusObj) : "") + "&option=" + encodeURIComponent((options) ? JSON.encode(options) : "");
if (window.o2android && window.o2android.openO2CmsApplication) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2CmsApplication",
data: {
appId : options.columnId,
title: options.title || ""
}
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2CmsApplication) {
window.o2android.openO2CmsApplication(options.columnId, options.title || "");
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.openO2CmsApplication) {
window.webkit.messageHandlers.openO2CmsApplication.postMessage(options.columnId);
......@@ -308,7 +342,13 @@ o2.addReady(function () {
};
var _openMeeting = function (appNames, options, statusObj) {
var par = "app=" + encodeURIComponent(appNames) + "&status=" + encodeURIComponent((statusObj) ? JSON.encode(statusObj) : "") + "&option=" + encodeURIComponent((options) ? JSON.encode(options) : "");
if (window.o2android && window.o2android.openO2Meeting) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2Meeting",
data: {}
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2Meeting) {
window.o2android.openO2Meeting("");
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.openO2Meeting) {
window.webkit.messageHandlers.openO2Meeting.postMessage("");
......@@ -319,7 +359,13 @@ o2.addReady(function () {
var _openCalendar = function (appNames, options, statusObj) {
var par = "app=" + encodeURIComponent(appNames) + "&status=" + encodeURIComponent((statusObj) ? JSON.encode(statusObj) : "") + "&option=" + encodeURIComponent((options) ? JSON.encode(options) : "");
if (window.o2android && window.o2android.openO2Calendar) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2Calendar",
data: {}
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2Calendar) {
window.o2android.openO2Calendar("");
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.openO2Calendar) {
window.webkit.messageHandlers.openO2Calendar.postMessage("");
......@@ -333,7 +379,13 @@ o2.addReady(function () {
if (tab === "done") tab = "taskCompleted";
if (tab === "readed") tab = "readCompleted";
if (window.o2android && window.o2android.openO2WorkSpace) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2WorkSpace",
data: { type: tab }
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2WorkSpace) {
window.o2android.openO2WorkSpace(tab);
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.openO2WorkSpace) {
window.webkit.messageHandlers.openO2WorkSpace.postMessage(tab);
......
......@@ -73,6 +73,21 @@ o2.xDesktop.requireApp = function (module, clazz, callback, async) {
};
var _openWorkAndroid = function (options) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2Work",
data: {
title : options.title || ""
}
};
if (options.workId) {
body.data.workId = options.workId;
} else if (options.workCompletedId) {
body.data.workCompletedId = options.workCompletedId;
}
window.o2android.postMessage(JSON.stringify(body));
return true;
}
if (window.o2android && window.o2android.openO2Work) {
if (options.workId) {
window.o2android.openO2Work(options.workId, "", options.title || "");
......@@ -123,7 +138,17 @@ o2.xDesktop.requireApp = function (module, clazz, callback, async) {
var title = typeOf(options) === "object" ? (options.docTitle || options.title) : "";
title = title || "";
var par = "app=" + encodeURIComponent(appNames) + "&status=" + encodeURIComponent((statusObj) ? JSON.encode(statusObj) : "") + "&option=" + encodeURIComponent((options) ? JSON.encode(options) : "");
if (window.o2android && window.o2android.openO2CmsDocumentV2) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2CmsDocument",
data: {
docId : options.documentId,
title: title,
options: options
}
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2CmsDocumentV2) {
window.o2android.openO2CmsDocumentV2(options.documentId, title, JSON.stringify(options));
} else if (window.o2android && window.o2android.openO2CmsDocument) {
window.o2android.openO2CmsDocument(options.documentId, title);
......@@ -135,7 +160,16 @@ o2.xDesktop.requireApp = function (module, clazz, callback, async) {
};
var _openCms = function (appNames, options, statusObj) {
var par = "app=" + encodeURIComponent(appNames) + "&status=" + encodeURIComponent((statusObj) ? JSON.encode(statusObj) : "") + "&option=" + encodeURIComponent((options) ? JSON.encode(options) : "");
if (window.o2android && window.o2android.openO2CmsApplication) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2CmsApplication",
data: {
appId : options.columnId,
title: options.title || ""
}
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2CmsApplication) {
window.o2android.openO2CmsApplication(options.columnId, options.title || "");
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.openO2CmsApplication) {
window.webkit.messageHandlers.openO2CmsApplication.postMessage(options.columnId);
......@@ -145,7 +179,13 @@ o2.xDesktop.requireApp = function (module, clazz, callback, async) {
};
var _openMeeting = function (appNames, options, statusObj) {
var par = "app=" + encodeURIComponent(appNames) + "&status=" + encodeURIComponent((statusObj) ? JSON.encode(statusObj) : "") + "&option=" + encodeURIComponent((options) ? JSON.encode(options) : "");
if (window.o2android && window.o2android.openO2Meeting) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2Meeting",
data: {}
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2Meeting) {
window.o2android.openO2Meeting("");
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.openO2Meeting) {
window.webkit.messageHandlers.openO2Meeting.postMessage("");
......@@ -156,7 +196,13 @@ o2.xDesktop.requireApp = function (module, clazz, callback, async) {
var _openCalendar = function (appNames, options, statusObj) {
var par = "app=" + encodeURIComponent(appNames) + "&status=" + encodeURIComponent((statusObj) ? JSON.encode(statusObj) : "") + "&option=" + encodeURIComponent((options) ? JSON.encode(options) : "");
if (window.o2android && window.o2android.openO2Calendar) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2Calendar",
data: {}
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2Calendar) {
window.o2android.openO2Calendar("");
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.openO2Calendar) {
window.webkit.messageHandlers.openO2Calendar.postMessage("");
......@@ -170,7 +216,13 @@ o2.xDesktop.requireApp = function (module, clazz, callback, async) {
if (tab === "done") tab = "taskCompleted";
if (tab === "readed") tab = "readCompleted";
if (window.o2android && window.o2android.openO2WorkSpace) {
if (window.o2android && window.o2android.postMessage) {
var body = {
type: "openO2WorkSpace",
data: { type: tab }
};
window.o2android.postMessage(JSON.stringify(body));
} else if (window.o2android && window.o2android.openO2WorkSpace) {
window.o2android.openO2WorkSpace(tab);
} else if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.openO2WorkSpace) {
window.webkit.messageHandlers.openO2WorkSpace.postMessage(tab);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册