Show last authors
1 {{velocity}}
2 #if ("$!request.user" != "")
3 #if ($request.user.contains("."))
4 #set ($targetUser = $request.user)
5 #else
6 #set ($targetUser = "XWiki." + $request.user)
7 #end
8 #end
9 #if ("$!request.target" == 'wiki')
10 #set ($targetDoc = $xwiki.getDocument($services.model.createDocumentReference('', ['XWiki', 'Notifications', 'Code'], 'NotificationAdministration')))
11 #set ($targetRef = $services.wiki.getCurrentWikiReference())
12 #elseif ("$!request.target" == 'user')
13 #set ($targetDoc = $xwiki.getDocument($targetUser))
14 #set ($targetRef = $targetUser)
15 #end
16 #if ("$!request.action" == "" && $request.method.equalsIgnoreCase('get'))
17 This is a technical page for Notifications macro.
18 #elseif (!$services.csrf.isTokenValid($request.csrf))
19 #set ($discard = $response.sendError(401, $services.localization.render('notifications.settings.error.badCSRF')))
20 #elseif ("$!request.target" == 'wiki' && !$hasAdmin)
21 #set ($discard = $response.sendError(401))
22 #elseif ("$!request.action" == "" || "$!request.target" == "" || ("$!request.target" == 'user' && "$!request.user" == ""))
23 #set ($discard = $response.sendError(400, $services.localization.render('notifications.settings.error.badParameters')))
24 #elseif ("$!request.action" == "setInterval")
25 #if ("$!request.interval" == '' || "$!request.target" == 'wiki')
26 #set ($discard = $response.sendError(400, $services.localization.render('notifications.settings.error.badParameters')))
27 #end
28 #set ($userDoc = $xwiki.getDocument($targetUser))
29 #set ($prefObj = $userDoc.getObject('XWiki.Notifications.Code.NotificationEmailPreferenceClass', true))
30 #set ($discard = $prefObj.set('interval', $request.interval))
31 #set ($discard = $userDoc.save('Update Notification Email Interval'))
32 #elseif ("$!request.action" == "setDiffType")
33 #if ("$!request.diffType" == '')
34 #set ($discard = $response.sendError(400, $services.localization.render('notifications.settings.error.badParameters')))
35 #end
36 #set ($prefObj = $targetDoc.getObject('XWiki.Notifications.Code.NotificationEmailPreferenceClass', true))
37 #set ($discard = $prefObj.set('diffType', $request.diffType))
38 #set ($discard = $targetDoc.save('Update Notification Email Diff Type'))
39 #elseif ("$!request.action" == 'savePreferences')
40 #try()
41 #if ("$!request.target" == 'wiki')
42 $services.notification.preferences.saveNotificationPreferencesForCurrentWiki($request.json)
43 #else
44 $services.notification.preferences.saveNotificationPreferences($request.json, $targetRef)
45 #end
46 #end
47 #if ("$!exception" != '')
48 $response.sendError(500, "$!exceptiontool.getStackTrace($exception)")
49 #end
50 #elseif ("$!request.action" == 'deleteFilterPreference')
51 #try()
52 #if ("$!request.target" == 'wiki')
53 $services.notification.filters.deleteWikiFilterPreference($request.filterPreferenceId, $targetRef)
54 #else
55 $services.notification.filters.deleteFilterPreference($request.filterPreferenceId, $targetRef)
56 #end
57 #end
58 #if ("$!exception" != '')
59 $response.sendError(500, "$!exceptiontool.getStackTrace($exception)")
60 #end
61 #elseif ("$!request.action" == 'setFilterPreferenceEnabled')
62 #try()
63 #if ("$!request.target" == 'wiki')
64 $services.notification.filters.setWikiFilterPreferenceEnabled($request.filterPreferenceId, $stringtool.equals("$!request.enabled", 'true'), $targetRef)
65 #else
66 $services.notification.filters.setFilterPreferenceEnabled($request.filterPreferenceId, $stringtool.equals("$!request.enabled", 'true'), $targetRef)
67 #end
68 #end
69 #if ("$!exception" != '')
70 $response.sendError(500, "$!exceptiontool.getStackTrace($exception)")
71 #end
72 #elseif ("$!request.action" == 'createScopeFilterPreference')
73 #try()
74 #macro (saveScopeFilterPreference $reference)
75 #if ("$!request.target" == 'wiki')
76 $services.notification.filters.createWikiScopeFilterPreference($request.filterType, $request.filterFormats.split(','), $request.eventTypes.split(','), $reference, $targetRef)
77 #else
78 $services.notification.filters.createScopeFilterPreference($request.filterType, $request.filterFormats.split(','), $request.eventTypes.split(','), $reference, $targetRef)
79 #end
80 #end
81 #if ("$!request.wiki" != "")
82 #foreach ($wikiRequest in $request.getParameterValues('wiki'))
83 #set ($reference = $services.model.createWikiReference($wikiRequest))
84 #saveScopeFilterPreference($reference)
85 #end
86 #end
87 #if ("$!request.space" != "")
88 #foreach ($spaceRequest in $request.getParameterValues('space'))
89 #set ($reference = $services.model.resolveSpace($spaceRequest))
90 #saveScopeFilterPreference($reference)
91 #end
92 #end
93 #if ("$!request.page" != "")
94 #foreach ($pageRequest in $request.getParameterValues('page'))
95 #set ($reference = $services.model.resolveDocument($pageRequest))
96 #saveScopeFilterPreference($reference)
97 #end
98 #end
99 #end
100 #if ("$!exception" != '')
101 $response.sendError(500, "$!exceptiontool.getStackTrace($exception)")
102 #end
103 #elseif ("$!request.action" == 'setAutoWatchMode')
104 #try()
105 #set ($obj = $targetDoc.getObject('XWiki.Notifications.Code.AutomaticWatchModeClass', true))
106 #set ($discard = $obj.set('automaticWatchMode', $request.mode))
107 #set ($discard = $targetDoc.save('Update the automaticWatchMode.'))
108 #end
109 #if ("$!exception" != '')
110 $response.sendError(500, "$!exceptiontool.getStackTrace($exception)")
111 #end
112 #elseif ("$!request.action" == 'watchUser' || "$!request.action" == 'unwatchUser')
113 #try()
114 #if ($request.action == 'watchUser')
115 #set ($discard = $services.notification.watch.watchUser($request.user))
116 #else
117 #set ($discard = $services.notification.watch.unwatchUser($request.user))
118 #end
119 #end
120 #if ("$!exception" != '')
121 $response.sendError(500, "$!exceptiontool.getStackTrace($exception)")
122 #end
123 #end
124 {{/velocity}}
This wiki is hosted and managed by iXPath
Powered by XWiki 13.3 debian