1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.module.demoproject.setup;
35
36 import javax.jcr.Node;
37 import javax.jcr.RepositoryException;
38 import javax.jcr.Session;
39
40 import info.magnolia.jcr.util.PropertyUtil;
41 import info.magnolia.module.InstallContext;
42 import info.magnolia.module.delta.AbstractTask;
43 import info.magnolia.module.delta.TaskExecutionException;
44
45
46
47
48 public class UpdatePurConfirmationEmailTypeTask extends AbstractTask{
49
50 public UpdatePurConfirmationEmailTypeTask(String taskName, String taskDescription) {
51 super("PUR content update", "Updates confirmation e-mail of PUR forms with mail type for proper mail processing");
52 }
53
54 @Override
55 public void execute(InstallContext installContext) throws TaskExecutionException {
56 try{
57 Session session = installContext.getJCRSession("website");
58 updateNode(session.getNode("/demo-project/members-area/registration/content/0"));
59 updateNode(session.getNode("/demo-features/modules/public-user-registration/PURRegistration/content/0"));
60 updateNode(session.getNode("/demo-features/modules/public-user-registration/PURUpdate/content/0"));
61 updateNode(session.getNode("/demo-features/modules/public-user-registration/PURPassword/content/0"));
62 session.save();
63 }catch(RepositoryException e){
64 installContext.error(e.getMessage(), e);
65 }
66 }
67
68 private void updateNode(Node node) throws RepositoryException{
69 node.setProperty("confirmMailType", "html");
70 node.getProperty("confirmContentType").setValue("code");
71 if (node.hasProperty("confirmContentTypehtml")) {
72 PropertyUtil.renameProperty(node.getProperty("confirmContentTypehtml"), "confirmContentTypecode");
73 }
74 }
75 }