Giter Club home page Giter Club logo

django-auth_enhanced's Introduction

django-auth_enhanced

django-auth_enhanced is designed to enhance Django's built-in authentication application, by providing additional views, templates and functions.

Version

Build Status

Code Coverage

PEP8 Compliance

Semantic Versioning 2.0

License

Meta

Author:

Mischback

Status:

in development

Version:

0.1.0

Django Version:

1.11, 2.0

Python Version:

2.7, 3.4, 3.5, 3.6

django-auth_enhanced's People

Contributors

mischback avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

django-auth_enhanced's Issues

Django Admin Integration

Substitute the default Admin Class for User objects

Brainstorming of features

Work with custom user models

While django-auth_enhanced is designed to work with Django's default User-model, it should work with custom user models aswell, if some minimum requirements are met.

This issue is about implementing enough abstraction to work with these custom models, aswell as checking minimum requirements of these models.

  • be as abstract as possible
    • do not assume certain model fields are always present and decouple them
      • don't reference username (use get_user_model().USERNAME_FIELD)
      • don't reference email (use get_user_model().EMAIL_FIELD)
      • implement some tests using a minimal custom user model and see, if the app still works
    • check Django's documentation about a minimal user model and try to achieve the same minimum requirements
    • implement checks for these minimum requirements
      • probable required properties: is_active, is_staff, is_superuser

Reset password

Make password resettable

  • Should passwords be resettable, if there is no verified email address?
  • Determine, how long a password reset link should be valid (-> make configurable)
  • Implement password reset view (or re-use Django's)
  • Integrate with admin backend

Registration

Implement all necessary functions to register new users.

  • email address has to be unique
  • different registration modes:
    • register and go: fill the registration form and the newly created account is activated by default and usable immediately
    • register and wait for approval: fill the registration form and then wait, until some staff personnel activates the account manually
    • register and validate: fill the registration form (including a required email); an automatically generated email is send to verify the address, including a verification token / link; after using the token / link, the account is activated and usable
  • notification of staff members
  • add actions to Django's admin IOT
    • activate / deactivate users
    • re-send the verification mail

Add app to pypi

The app should be installable using Pythons package management.

  • make the package/application installable from pypi

Provide login/logout functionality

Django does provide all necessary functions to handle login and logout, but does not really make the usable.

  • provide URLs for login and logout
  • provide templates for login and logout

Change password

Make the password changeable by the user

  • [RESEARCH] Is there a re-usable Django implementation?

Check for 'DAE_ADMIN_SIGNUP_NOTIFICATION' validity

In #9 the setting 'DAE_ADMIN_SIGNUP_NOTIFICATION' was introduced and implemented.

While its documentation already mentions, that this setting should consist of valid users of the respective Django project, this is not enforced by any check.

Reason: While the checks are performed using Django's Check Framework, the database is not yet available.

When is this setting used? The setting is used during the process of user-registration. In order to not hit the database to fetch the superusers email addresses, this setting is used.

Possible workaround: Creating a custom, app-specific management command. This command could be used to verify, that the specified usernames are valid users of the Django project, that their respective mail addresses are indeed legit (and verified) and that they have sufficient permissions to actually manage User-objects.

Monitor and fix Django input widget

As of this writing (currently: Django 2.0.4), while rendering forms with Django, the file https://github.com/django/django/blob/2.0.4/django/forms/templates/django/forms/widgets/input.html is used. It appends a trailing slash to input-widgets, which is not fully html5-compliant.

However, in master, this issue is already fixed and should be included NLT Django 2.1.0.

Currently, the form-widgets are included in the html-templates manually, meaning that they are hardcoded. Of course, this has to be changed to return to {{ form.field }} again.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.