-
- What is DG3
- The different components
- Requirements for running DG3
- Installation of DG3
- Additional installation steps
- Select which web server to use
- Hello World application
- Intro to CMS
- Setting up DG3 as a CMS
- Editing pages
- More about pages and urls
- Structuring a page using the grid
- Adding menu to pages
- Add images to the application
- More formating
- Sending email from contact us
- Adding menu to template
- Deploy the web site
- Storing the pages in database
- Create record
- Auto fill field
- Field validation
- Enable save button validator
- Add new button to template
- View document
- List documents
- Fix selection in menus in template
- CRUD Create Read Update Delete
- Intro to blogs
- Add user authentication
- Bootstrap authentication
- Let user change their passords
- Add reset password
- Login dialog box
- Extending the CMS to a blog
- Extend table for blogging
- Edit blog entry
- View blog entry
- User registration
- User password validation
- User field validation
- User auto login
- User extra registration fields
Add reset password
The reset password functionality in DG3 is based on the one found in Django. It is also implemented as custom code pages that was installed when you checked for authentication the in application settings. Reset passwords uses the mailhandling module for sending reset mails to the registered user, so the first you have to do is activate that module.
How to activate mailhandling
The mailhandling module is one of the built in modules that comes with DG3. To use it, you need to activate it. Go to settings and select module tab. Int the list, check if the module called mailhandling have a yellow marker in front, if not double click mailhandlig or select it and use activate module icon. Now save settings using the save application settings icon and select mailhandling by clicking on the module name. Now you must fill in information of how to send mail from a proper smtp server as you would do it in your mail application. The address you fill in the EMail from field is the one found as the sender by reset password mail. Some ISPs do not allow you to use port 25, so then you have to use the alternative 587. This is just as if you had to configure a mail client on your application server. It the mail works on your development computer, but not on your server, the blocking of port is the most likely reason for your problems.
Changing the templates to match your site
There are two kind of changes we have to do to to get the password reset to work properly in our application when mail are up and running. First we must change the mail templates to the correct domain and write a text that match. The one that comes with the default will use your.site.url as the domain. There are two pages you need to edit, the first is "passwordresetmailsubject" that holds the mails subject and the second the "passwordresetmail" that holds the body of the mail. The reason for this split is due to we use the build in functionality that comes with Django. As described earlier, you must use the html editor to change these pages. Right click on page and "Open html designer". For the subject you must use text only, no HTML.
Mail subject initially Mail subject after editing Mail body initially Mail body after What is important when you edit the body to surround the body with [% autoescape off %] [% endautoescape %] tags and the token livetext. The rest of the content is up to you.
URLs used by password reset
Password reset /authentication/passwordreset/ Opens the password reset form where you can register the mail address for your account and that send you a mail.
Landing ok /authentication/passwordresetdone/ Landing page if mail send ok. Landing failed /authentication/passwordresetfailed/ Landing page if mail send failed. Sending mail
/authentication/passwordresetdo/ The page doing the reset password based on the token in mail.
Reset confirmed
/authentication/passwordresetconfirmed/ The final page where you end after updating your password