Commit 7b60bcd17d1385209bb30b19c0ac6d67a4c37452

Authored by Sergio Oliveira
1 parent c05eeb69

Added docs for password validators

Showing 2 changed files with 38 additions and 0 deletions   Show diff stats
docs/source/plugindev.rst
@@ -189,3 +189,32 @@ Example Usage: @@ -189,3 +189,32 @@ Example Usage:
189 189
190 def get_last_updated_timestamp(self): 190 def get_last_updated_timestamp(self):
191 return TimeStampPlugin.get_last_updated_timestamp('TestPlugin') 191 return TimeStampPlugin.get_last_updated_timestamp('TestPlugin')
  192 +
  193 +
  194 +Password Validation
  195 +-------------------
  196 +
  197 +Allows the plugin to define rules to set the password. The validators
  198 +are functions which receive the password as only argument and if it
  199 +doesn't match the desired rules raises a `ValidationError`. The message
  200 +sent in the validation error will be displayed to user in the HTML form.
  201 +
  202 +Example:
  203 +
  204 +.. code-block:: python
  205 +
  206 + ## myplugin/password_validators.py
  207 +
  208 + def has_uppercase_char(password):
  209 + for char in password:
  210 + if char.isupper():
  211 + return
  212 +
  213 + raise ValidationError('Password must have at least one upper case char')
  214 +
  215 + ## /etc/colab/plugins.d/myplugin.py
  216 +
  217 + password_validators = (
  218 + 'myplugin.password_validators.has_uppercase_char',
  219 + )
  220 +
docs/source/user.rst
@@ -165,6 +165,15 @@ Declares the additional installed apps that this plugin depends on. @@ -165,6 +165,15 @@ Declares the additional installed apps that this plugin depends on.
165 This doesn't automatically install the python dependecies, only add to django 165 This doesn't automatically install the python dependecies, only add to django
166 apps. 166 apps.
167 167
  168 +.. attribute:: password_validators
  169 +
  170 +A lista of functions to validade password in the moment it's set.
  171 +This allows plugins to define their own password validators. For
  172 +example if the proxied app requires the password to have at least
  173 +one upper case character it should provide a password validator
  174 +for that.
  175 +
  176 +
168 urls 177 urls
169 ++++ 178 ++++
170 179