Code source wiki de MeetingManagerService
Modifié par Vincent Massol le 2011/08/12 21:26
Masquer les derniers auteurs
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | #if("$!request.xpage" != "plain") |
2 | #info("This is a service document for the meeting manager application") | ||
3 | #else | ||
4 | #if("$request.service" == "useravatar") | ||
5 | #includeMacros("MMCode.MeetingManagerMacros") | ||
6 | #avatar("$!request.username") | ||
7 | #elseif("$request.service" == "startmeeting") | ||
8 | #info("$msg.get('meetings.meeting.startmeeting.help')") | ||
9 | #set($meetingDoc = $xwiki.getDocument("$request.meeting")) | ||
10 | #set($meeting = $meetingDoc.getObject('MMCode.MeetingClass')) | ||
11 | #set($actionURL = $meetingDoc.getURL('save',"xredirect=$doc.getURL('view','started=1')")) | ||
12 | <form action="$actionURL"> | ||
13 | <div> | ||
14 | <input type="hidden" name="MMCode.MeetingClass_0_status" value="started" /> | ||
15 | <div style="margin-top:15px;" align="center"> | ||
16 | <span class="buttonwrapper"> | ||
17 | <input type="submit" id="dostartmeeting" value="$msg.get('meetings.meeting.dostart')" /> | ||
18 | </span> | ||
19 | </div> | ||
20 | </div> | ||
21 | </form> | ||
22 | #elseif("$request.service" == "endmeeting") | ||
23 | #info("$msg.get('meetings.meeting.endmeeting.help')") | ||
24 | #set($meetingDoc = $xwiki.getDocument("$request.meeting")) | ||
25 | #set($meeting = $meetingDoc.getObject('MMCode.MeetingClass')) | ||
26 | #set($actionURL = $meetingDoc.getURL('save',"xredirect=$doc.getURL('view','closed=1')")) | ||
27 | <form action="$actionURL"> | ||
28 | <div> | ||
29 | <input type="hidden" name="MMCode.MeetingClass_0_status" value="finished" /> | ||
30 | <div style="margin-top:15px;" align="center"> | ||
31 | <span class="buttonwrapper"> | ||
32 | <input type="submit" id="doendmeeting" value="$msg.get('meetings.meeting.doend')" /> | ||
33 | </span> | ||
34 | </div> | ||
35 | </div> | ||
36 | </form> | ||
37 | #elseif("$!request.service" == "makecycle") | ||
38 | #set($meetingDoc = $xwiki.getDocument("$request.meeting")) | ||
39 | #set($meeting = $meetingDoc.getObject('MMCode.MeetingClass')) | ||
40 | <div id="domakecycleform"> | ||
41 | <div> | ||
42 | <div> | ||
43 | Nom de la page du cycle: <input type="text" autocomplete="off" class="title" name="cyclename" id="cycletitle" size="50"/> | ||
44 | <input type="hidden" name="name" id="cyclepagename" class="clean" value="" /> | ||
45 | <div style="color:grey;padding:5px;"> | ||
46 | <div>$msg.get('meetings.meeting.cycleurlwillbe')</div> | ||
47 | {pre}<div><span class="url">$xwiki.getDocument("${meetingDoc.web}.WebHome").getExternalURL('view')<span></div>{/pre} | ||
48 | </div> | ||
49 | </div> | ||
50 | <div style="margin-top:15px;" align="center"> | ||
51 | <span class="buttonwrapper"> | ||
52 | <button id="domakecycle"> | ||
53 | $msg.get('meetings.meeting.domakecycle') | ||
54 | </button> | ||
55 | </span> | ||
56 | <span class="loading hidden" id="makecycleloading"> </span> | ||
57 | </div> | ||
58 | </div> | ||
59 | </div> | ||
60 | #set($createURLBase = $xwiki.getDocument('MMCode.MeetingManagerService').getURL('view',"xpage=plain&service=domakecycle&meeting=$meetingDoc.fullName")) | ||
61 | <script type="text/javascript"> | ||
62 | #set($url = $xwiki.getDocument("${meetingDoc.web}.WebHome").getExternalURL('view')) | ||
63 | var p = new PageCreator($('domakecycleform'), "${url}"); | ||
64 | Event.observe($('domakecycle'), "click", function(){ | ||
65 | if($('cyclepagename').value.strip() == "") { | ||
66 | alert("Le nom du cycle ne peut etre vide"); | ||
67 | return; | ||
68 | } | ||
69 | else { | ||
70 | $('makecycleloading').removeClassName | ||
71 | new Ajax.Request("$createURLBase" + "&pagename=${meetingDoc.web}." + $F('cyclepagename') + "&cyclename=" + $F('cycletitle'), | ||
72 | { | ||
73 | onComplete: function(transport){ | ||
74 | $('makecycleloading').addClassName('hidden'); | ||
75 | if (!transport.responseText.match(/^http:.*/)) { | ||
76 | alert(transport.responseText); | ||
77 | } | ||
78 | else { | ||
79 | window.location = transport.responseText; | ||
80 | } | ||
81 | } | ||
82 | }); | ||
83 | } | ||
84 | }); | ||
85 | </script> | ||
86 | #elseif("$request.service"=="domakecycle") | ||
87 | {pre} | ||
88 | #set($meeting=$xwiki.getDocument($request.meeting)) | ||
89 | #set($cycleName = $request.cyclename) | ||
90 | #set($pageName = $request.pagename) | ||
91 | #set($cycle = $xwiki.getDocument($pageName)) | ||
92 | #if(!$cycle.isNew()) | ||
93 | $msg.get('meetings.cycle.alreadyexists') | ||
94 | #else | ||
95 | #set($cobj = $cycle.getObject('MMCode.MeetingCycleClass', true)) | ||
96 | #set($ok = $cobj.set('name',"$cycleName")) | ||
97 | #set($ok = $cycle.setContent($xwiki.getDocument('MMCode.MeetingCycleClassTemplate').content)) | ||
98 | #set($ok = $cycle.save()) | ||
99 | #set($cycleItem = $meeting.getObject('MMCode.MeetingCycleItemClass', true)) | ||
100 | #set($ok = $cycleItem.set("cycle", $cycle.fullName)) | ||
101 | #set($ok = $meeting.setMinorEdit(true)) | ||
102 | #set($ok = $meeting.setComment("$msg.get('meetings.cycle.addingmeetingtocycle')")) | ||
103 | #set($ok = $meeting.save()) | ||
104 | $cycle.getExternalURL('inline') | ||
105 | #end | ||
106 | {/pre} | ||
107 | #elseif("$request.service"=="nextmeeting") | ||
108 | {pre} | ||
109 | #set($template=$request.template) | ||
110 | #set($date=$request.date) | ||
111 | #set($title=$request.title) | ||
112 | #set($name=$request.name) | ||
113 | #if($xwiki.exists($name)) | ||
114 | $msg.get('meetings.meeting.docalreadyexists') | ||
115 | #else | ||
116 | #set($ok = $xwiki.copyDocument($template, $name)) | ||
117 | #set($newdoc=$xwiki.getDocument($name)) | ||
118 | #set($meeting=$newdoc.getObject("MMCode.MeetingClass")) | ||
119 | ## set date | ||
120 | #set($ok = $meeting.set("date", $date)) | ||
121 | #set($ok = $meeting.set("description", "")) | ||
122 | #set($ok = $meeting.set("minutes", "")) | ||
123 | #set($ok = $meeting.set("status", "prepared")) | ||
124 | #set($ok = $newdoc.save()) | ||
125 | #foreach($p in $newdoc.getObjects("MMCode.MeetingParticipantClass")) | ||
126 | #set($ok = $p.set("participation","undecided")) | ||
127 | #set($ok = $p.set("message","")) | ||
128 | #end | ||
129 | #set($ok = $newdoc.setTitle($title)) | ||
130 | #set($ok = $newdoc.save()) | ||
131 | $newdoc.getExternalURL('view') | ||
132 | {/pre} | ||
133 | #end | ||
134 | #else | ||
135 | ERROR: service not found. | ||
136 | #end | ||
137 | #end | ||
138 |