Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Frontend CRUD enhancements (character/account creation and management) #1671

Merged
merged 50 commits into from
Oct 26, 2018
Merged

Frontend CRUD enhancements (character/account creation and management) #1671

merged 50 commits into from
Oct 26, 2018

Conversation

strikaco
Copy link
Contributor

@strikaco strikaco commented Oct 4, 2018

Brief overview of PR changes/additions

  • Updates Bootstrap to v4 stable (the beta in use had some irritating bugs that have since been resolved)
  • Enables the use of Django Messages framework
  • Adds a web-based account registration form
  • Adds links to reset password / create new account on login pane (resets require SMTP configuration to actually work, but the functionality was already enabled by account of django.contrib.auth.urls-- I just made it prettier). Uses Django's password reset workflow.
  • Modifies the series of password reset forms to use Evennia's CSS instead of Django admin's.
  • Adds a dropdown for authenticated users allowing them to change their password.
  • Prettifies the "change password" form to use Evennia's CSS instead of Django admin's.
  • Adds placeholders to dropdown menu for players to quickpuppet/manage characters on the website.
  • Fixes a bug on the login pane where error messages weren't being displayed (was calling form.has_errors instead of just checking form.errors)
  • Web-based chargen based on predefined form
  • Character puppeting within the context of the website

Other info (issues closed, discussion etc)

Another notch towards #533

@aliceafterall
Copy link
Member

I meant to update to the latest stable! It's a good idea to ensure nothing broke due to this update, so I'll test that out ASAP.

evennia/accounts/accounts.py Outdated Show resolved Hide resolved
To initiate the password reset process for your {{ user.get_username }} {{ site_name }} account,
click the link below:

{{ protocol }}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently, domain is set to "example.com" per the default configuration of what appears to be the Django Sites framework. This should probably be resolved during evennia --init but is beyond me to fix-- it also impacts the reverse "view on site" link in the Django admin (if get_absolute_url is implemented on the object in question).

@strikaco strikaco changed the title Adds web-based account registration and stylizes password reset forms Adds web-based account registration and stylizes Django user-facing forms Oct 5, 2018
Copy link
Member

@Griatch Griatch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, some very good improvements here. The style changes and more elaborate input for registering looks nice and professional! Interesting to offer a default example of online character-creation - I like it, but have given some comments so as to make it clear this is just that - an example (the more advanced and game-specific code rather belongs in a contrib or a wiki tutorial).

(Should also point out that I was looking through #533 and I think this may lay the groundwork but otherwise goes a little outside the frame of what that issue covers - this allows for account/character creation for the users themselves; #533 is more humble in that it aims to clean up and make the web-Admin more usable for creating Accounts and linking them to Characters/Attributes from the perspective of a staffer).

evennia/accounts/accounts.py Outdated Show resolved Hide resolved
evennia/web/website/forms.py Outdated Show resolved Hide resolved
evennia/web/website/forms.py Outdated Show resolved Hide resolved
evennia/web/website/forms.py Outdated Show resolved Hide resolved
evennia/web/website/forms.py Outdated Show resolved Hide resolved
evennia/web/website/forms.py Outdated Show resolved Hide resolved
evennia/web/website/templates/website/_menu.html Outdated Show resolved Hide resolved
evennia/web/website/templates/website/_menu.html Outdated Show resolved Hide resolved
evennia/web/website/templates/website/_menu.html Outdated Show resolved Hide resolved
@strikaco strikaco changed the title Adds web-based account registration and stylizes Django user-facing forms Frontend CRUD enhancements (character/account creation and management) Oct 18, 2018
@Griatch
Copy link
Member

Griatch commented Oct 21, 2018

@strikaco Is this ready for re-review?

@strikaco
Copy link
Contributor Author

No, not ready yet; the dropdown bug is still outstanding.

@strikaco
Copy link
Contributor Author

Fixed the dropdown bug but still have some tidying up to do. Further updates as events warrant...

@strikaco
Copy link
Contributor Author

So we now have a form-based character creation page, a character update page, a character management page, a character deletion page, ownership and lock checks for both, character puppeting on the website, a password change workflow, and unit tests for all website views. Everything works as far as I've thought to test it.

I think that's enough changes for one PR... for all this entailed, I'm missing out on a lot of Hacktoberfest cred :\

@Griatch ready for you to tell me how much my documentation sucks :)

@Griatch
Copy link
Member

Griatch commented Oct 26, 2018

The documentation of some of these functions is too sparse 😛 But this is great work, I think it's worth merging and resolve any remaining issues as they come along. Thanks for your hard work!

@Griatch Griatch merged commit ddb3cd4 into evennia:develop Oct 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants