1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.exoplatform.wcm.webui.utils;
18
19 import java.util.List;
20
21 import javax.jcr.Node;
22
23 import org.exoplatform.portal.webui.util.Util;
24 import org.exoplatform.services.wcm.extensions.publication.PublicationManager;
25 import org.exoplatform.services.wcm.extensions.publication.lifecycle.impl.LifecyclesConfig.Lifecycle;
26 import org.exoplatform.services.wcm.utils.WCMCoreUtils;
27
28
29
30
31
32
33
34 public class Utils {
35
36
37
38
39
40
41
42
43 public static boolean isShowFastPublish(Node currentNode) throws Exception {
44 if (currentNode.hasProperty("publication:currentState")
45 && currentNode.hasProperty("publication:lifecycle")) {
46 String currentState = currentNode.getProperty("publication:currentState").getString();
47
48 if (!"published".equals(currentState)) {
49
50 String userId;
51 try {
52 userId = Util.getPortalRequestContext().getRemoteUser();
53 } catch (Exception e) {
54 userId = currentNode.getSession().getUserID();
55 }
56
57 String nodeLifecycle = currentNode.getProperty("publication:lifecycle").getString();
58
59 PublicationManager publicationManager = WCMCoreUtils.getService(PublicationManager.class);
60 List<Lifecycle> lifecycles =
61 publicationManager.getLifecyclesFromUser(userId, "published");
62
63 for (Lifecycle lifecycle : lifecycles) {
64 if (nodeLifecycle.equals(lifecycle.getName())) {
65 return true;
66 }
67 }
68 }
69
70 }
71 return false;
72 }
73 }