Projet

Général

Profil

0001-misc-remove-leftover-code-related-to-form-invitation.patch

Frédéric Péters, 22 mai 2018 09:08

Télécharger (2,65 ko)

Voir les différences:

Subject: [PATCH 1/3] misc: remove leftover code related to form invitations
 (#23975)

 wcs/forms/root.py | 40 +---------------------------------------
 1 file changed, 1 insertion(+), 39 deletions(-)
wcs/forms/root.py
41 41
from qommon import template
42 42
from qommon.form import *
43 43
from qommon.logger import BotFilter
44
from qommon import tokens
45 44
from qommon import emails
46 45

  
47 46
from wcs.categories import Category
......
98 97
    return redirect(login_url)
99 98

  
100 99

  
101
class TokenDirectory(Directory):
102
    _q_exports = ['']
103

  
104
    def __init__(self, formdef, token):
105
        self.formdef = formdef
106
        self.token = token
107

  
108
    def _q_index(self):
109
        if self.token.type != 'form-invite':
110
            raise errors.TraversalError()
111

  
112
        if self.token.formdef_id != self.formdef.id:
113
            raise errors.TraversalError()
114

  
115
        try:
116
            self.token.remove_self()
117
        except OSError:
118
            # race condition, and the token already got removed (??!)
119
            self.token.type = None
120

  
121
        get_session().set_user(self.token.user_id)
122
        return redirect(self.formdef.get_url())
123

  
124

  
125
class TokensDirectory(Directory):
126
    def __init__(self, formdef):
127
        self.formdef = formdef
128

  
129
    def _q_lookup(self, component):
130
        try:
131
            token = tokens.Token.get(component)
132
        except KeyError:
133
            raise errors.TraversalError()
134
        return TokenDirectory(self.formdef, token)
135

  
136

  
137 100
class TrackingCodeDirectory(Directory):
138 101
    _q_exports = ['', 'load']
139 102

  
......
206 169
        return TrackingCodeDirectory(component, self.formdef)
207 170

  
208 171
class FormPage(Directory, FormTemplateMixin):
209
    _q_exports = ['', 'tempfile', 'tokens', 'schema', 'tryauth',
172
    _q_exports = ['', 'tempfile', 'schema', 'tryauth',
210 173
            'auth', 'qrcode', 'autosave', 'code', 'removedraft']
211 174

  
212 175
    filling_templates = ['wcs/front/formdata_filling.html', 'wcs/formdata_filling.html']
......
222 185
        get_publisher().substitutions.feed(self)
223 186
        get_publisher().substitutions.feed(self.formdef)
224 187

  
225
        self.tokens = TokensDirectory(self.formdef)
226 188
        self.code = TrackingCodesDirectory(self.formdef)
227 189
        self.action_url = '.'
228 190
        self.edit_mode = False
229
-