Commits

Ralph Bean committed 9a0628e

Delay controller registration until display preparation.

Comments (0)

Files changed (1)

tw2/captcha/widgets.py

         random.seed()
         cls.aes = AES.new(cls._key, AES.MODE_ECB)
 
-        # Register our widget's built-in controller with the middleware
-        # This allows subsequent requests (for the image and the audio) to make
-        # their way to this widget's `request` method.
-        mw = twc.core.request_local()['middleware']
-        mw.controllers.register(cls, cls.controller_prefix)
-
     @classmethod
     def load_jpeg_generator(cls):
         name = cls.jpeg_generator
 
         self.payload = self.create_payload()
 
+        # Register our widget's built-in controller with the middleware
+        # This allows subsequent requests (for the image and the audio) to make
+        # their way to this widget's `request` method.
+        mw = twc.core.request_local()['middleware']
+        mw.controllers.register(type(self), self.controller_prefix)
+
     def create_payload(self):
         "Create a payload that uniquely identifies the captcha."
         c = model.Captcha()
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.