Hide last authors
Julien Fleury 1.1 1 {{velocity}}
Julien Fleury 2.1 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))
Julien Fleury 1.1 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'))
Julien Fleury 2.1 32 #elseif ("$!request.action" == "setDiffType")
33 #if ("$!request.diffType" == '')
34 #set ($discard = $response.sendError(400, $services.localization.render('notifications.settings.error.badParameters')))
Julien Fleury 1.1 35 #end
Julien Fleury 2.1 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'))
Julien Fleury 1.1 39 #elseif ("$!request.action" == 'savePreferences')
40 #try()
41 #if ("$!request.target" == 'wiki')
42 $services.notification.preferences.saveNotificationPreferencesForCurrentWiki($request.json)
43 #else
Julien Fleury 2.1 44 $services.notification.preferences.saveNotificationPreferences($request.json, $targetRef)
Julien Fleury 1.1 45 #end
46 #end
47 #if ("$!exception" != '')
48 $response.sendError(500, "$!exceptiontool.getStackTrace($exception)")
49 #end
50 #elseif ("$!request.action" == 'deleteFilterPreference')
51 #try()
Julien Fleury 2.1 52 #if ("$!request.target" == 'wiki')
53 $services.notification.filters.deleteWikiFilterPreference($request.filterPreferenceId, $targetRef)
Julien Fleury 1.1 54 #else
Julien Fleury 2.1 55 $services.notification.filters.deleteFilterPreference($request.filterPreferenceId, $targetRef)
Julien Fleury 1.1 56 #end
57 #end
58 #if ("$!exception" != '')
59 $response.sendError(500, "$!exceptiontool.getStackTrace($exception)")
60 #end
61 #elseif ("$!request.action" == 'setFilterPreferenceEnabled')
62 #try()
Julien Fleury 2.1 63 #if ("$!request.target" == 'wiki')
64 $services.notification.filters.setWikiFilterPreferenceEnabled($request.filterPreferenceId, $stringtool.equals("$!request.enabled", 'true'), $targetRef)
Julien Fleury 1.1 65 #else
Julien Fleury 2.1 66 $services.notification.filters.setFilterPreferenceEnabled($request.filterPreferenceId, $stringtool.equals("$!request.enabled", 'true'), $targetRef)
Julien Fleury 1.1 67 #end
68 #end
69 #if ("$!exception" != '')
70 $response.sendError(500, "$!exceptiontool.getStackTrace($exception)")
71 #end
72 #elseif ("$!request.action" == 'createScopeFilterPreference')
73 #try()
Julien Fleury 2.1 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)
Julien Fleury 1.1 79 #end
Julien Fleury 2.1 80 #end
81 #if ("$!request.wiki" != "")
82 #foreach ($wikiRequest in $request.getParameterValues('wiki'))
83 #set ($reference = $services.model.createWikiReference($wikiRequest))
84 #saveScopeFilterPreference($reference)
Julien Fleury 1.1 85 #end
Julien Fleury 2.1 86 #end
87 #if ("$!request.space" != "")
88 #foreach ($spaceRequest in $request.getParameterValues('space'))
89 #set ($reference = $services.model.resolveSpace($spaceRequest))
90 #saveScopeFilterPreference($reference)
Julien Fleury 1.1 91 #end
Julien Fleury 2.1 92 #end
93 #if ("$!request.page" != "")
94 #foreach ($pageRequest in $request.getParameterValues('page'))
95 #set ($reference = $services.model.resolveDocument($pageRequest))
96 #saveScopeFilterPreference($reference)
Julien Fleury 1.1 97 #end
98 #end
99 #end
100 #if ("$!exception" != '')
101 $response.sendError(500, "$!exceptiontool.getStackTrace($exception)")
102 #end
Julien Fleury 2.1 103 #elseif ("$!request.action" == 'setAutoWatchMode')
Julien Fleury 1.1 104 #try()
Julien Fleury 2.1 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.'))
Julien Fleury 1.1 108 #end
109 #if ("$!exception" != '')
110 $response.sendError(500, "$!exceptiontool.getStackTrace($exception)")
111 #end
112 #elseif ("$!request.action" == 'watchUser' || "$!request.action" == 'unwatchUser')
113 #try()
Julien Fleury 2.1 114 #if ($request.action == 'watchUser')
115 #set ($discard = $services.notification.watch.watchUser($request.user))
Julien Fleury 1.1 116 #else
Julien Fleury 2.1 117 #set ($discard = $services.notification.watch.unwatchUser($request.user))
Julien Fleury 1.1 118 #end
119 #end
120 #if ("$!exception" != '')
121 $response.sendError(500, "$!exceptiontool.getStackTrace($exception)")
122 #end
123 #end
124 {{/velocity}}
125
This wiki is hosted and managed by iXPath
Powered by XWiki 13.3 debian