Commit Graph

32 Commits

Author SHA1 Message Date
901a5465f7 Switch to using Django 3.2
3.2 is the next LTS, and the fixes to make it work went in some time
ago. Now pulling the trigger and updating the prod website.
2021-12-19 12:10:57 +01:00
fc1d49da21 Add proper xkey tags to docs 404 pages
Since we purge docs pages based on the version they are for, we need to
tag the 404 pages with version as well, when available. Without that,
any page that had been requested returning a 404 (such as somebody or
some tool polling for release notes on a version that hasn't been
released yet) would not get purged when new docs are loaded, which
results in the 404 staying around even after the actual docs are
updated.
2021-08-16 14:17:10 +02:00
0c40ff2df4 Add basic documentation of those xkeys that are in use. 2021-05-18 10:45:45 +02:00
2f969bff76 Make documentation purges use xkey 2021-05-18 09:54:18 +02:00
dca47853eb Fix some RST formatting 2021-01-01 16:24:01 +01:00
5022de595f Update the developer install docs
They could definitely use some more love, but it's a start.
2021-01-01 16:19:35 +01:00
fb99733afe Teach pgweb to handle secondary email addresses
This allows each account to have more than one email address, of which
one is primary. Adding more addresses will trigger an email with a
verification link (of course). The field previously known as "email" is
now changed to be "primary email".

Change the profile form to allow freely changing between the added
addresses which one is the primary. Remove the functionality to directly
change the primary email -- instead one has to add a new address first
and then change to that one, which simplifies several things in the
handling.
2020-08-11 11:33:46 +02:00
e803deca1e Fix typo 2020-08-08 17:09:59 +02:00
93bef2961d Updated the version of Django required to run pgweb in install docs.
Author: Rodrigo Ramírez Norambuena <decipher.hk@gmail.com>
2019-09-11 14:25:39 -04:00
0c8abeab97 Minor updates to dev install instructions
Issues pointed out by Andrew Dunstan
2019-06-24 22:31:35 +02:00
bf6ca4a381 Update references for NOTIFICATION_EMAIL
This updates various references to use NOTIFICATION_EMAIL, since that's
what we actually send the emails too.

Also change the moderators group to be 'pgweb moderators'.
2018-09-24 10:04:49 -04:00
fd37389a3b Replace NavContext and render_to_response with render_pgweb
render_to_response does not work on newer django, so it needs to be
replaced. And using a speicfic context actually overcomplicates things,
it's easier to just use a wrapper function. For those cases where we
don't need NavContext, just use render() (the new shortcut function from
django), which also removes the need to use RequestContext.
2018-03-10 10:38:11 -05:00
6df2043e4d Remove community authentication 1.0
Community authentication 1.0 relied on PostgreSQL connections between
all servers, and hasn't been used for years.

This includes removing the code that migrates users from the old
community authentication system to the new one. This means that any user
who has not logged in since 2011 will no longer be able to user their
oan account, and have to create a new one.
2017-12-10 16:46:43 +01:00
7688716575 Fix Django version requirement. 2016-10-18 09:56:34 +01:00
3c089cd09a Remove SSL decorators and middleware
The site is now served regardless of SSL, and assumes that the webserver
or web cache ensures that things rae always SSL.
2016-05-24 21:13:00 +02:00
8058accee0 Get rid of PgModel, replacing it with simple signals
We were already using signals for everything except delete, and even
in our old version of django the delete signal exists (it didn't exist
when this code was first written).

Django doesn't really like models to be OOP like this, so keeping PgModel
would cause issues with upcoming changes in django 1.8. Using simple functions
is easier, and the actual functionality is replicated straight off.
2016-03-07 21:41:45 +01:00
c6c43c1689 Implement user searching in the community auth system
This lets downstream systems securely search for users that are in
the system, so they can populate their local database with users
before they have logged in if necessary. This can be used for example
for the commitfest management system to be able to flag users as
authors and reviewers even before they have logged in.
2014-07-19 15:12:27 +02:00
b3c83d7452 Correct which version of django is used (and is in Wheezy)
Vik Fearing
2014-02-18 19:52:28 +01:00
8f0b7e6b50 Switch email sending go through a queue table in the database
Import the code from the PostgreSQL Europe website to handle this, since it's
well proven by now.

Any points that send email now just write them to the database using the
functions in queuedmail.util. This means we can now submit notification
emails and such things within transactions and have them properly roll bcak
if something goes wrong (so no more incorrect notifications when there is
a database error).

These emails are picked up by a cronjob that runs frequently (typically
once per minute or once every 2 minutes) that submits them to the local
mailserver. By doing it out of line, this gives us a much better way of
dealing with cases where mail delivery is really slow.

The submission from the cronjob is now done with smtp to localhost instead
of opening a pipe to the sendmail command - though this should have no
major effects on anything.

This also removes the setting SUPPRESS_NOTIFICATIONS, as no notifications
are actually ever sent unless the cronjob is run. On development systems
they will just go into the queuedmail table, and can be deleted from there.
2014-01-11 12:33:06 +01:00
78de94d17c Update community authentication to pass an arbitrary datablock instead of url
This makes it possible to pass URLs that will fail when they end up being double
escaped in some cases, since they contain non-url-safe characters. Instead, they'd
be base64-encoded, and thus safe.

Also update the django community auth provider to do just this, including encrypting
the data with the site secret key to make sure it can't be changed/injected by
tricking the user to go directly to the wrong URL.
2013-06-20 15:16:47 +02:00
68b9e96ad9 Update docs 2013-06-16 16:35:21 +02:00
48d6511186 Fixes in developer install instructions and scripts
Per Josh Kupershmidt
2012-05-23 15:26:33 +02:00
03df19d7d7 Fix typo. 2011-12-27 18:39:41 +00:00
88d0b6148d Implement single sign-out for community login 2.0
In order to provide a consistent user experience, we must sign the
user out from the main website if the community site provides a logout
button - else that button will appear not to work...
2011-12-27 19:35:51 +01:00
6db6283401 Include a timestamp in the authentication token
This way we can expire a token after e.g. 10 or 30 seconds, making
it impossible to do a replay attack later.
2011-12-22 19:25:32 +01:00
1f78460779 Implement community authentication 2.0
This system relies on http redirects and signing in to the main website
instead of using cross-internet pgsql connections and signing in individually
to each website.
2011-12-22 19:25:32 +01:00
437557acd3 Make our session cookie secure by default, and locked to www.postgresql.org
This increases session security, obviously... It will also break local development
installs, which will have to add the two rows that this patch adds to the
documentation.
2011-12-17 19:40:33 +01:00
f76d9baec2 Update documentation with latest versions and information
Fixes #102
2011-12-11 14:17:06 +01:00
84ba10f1ca Concept of mastersite is no longer used, remove all references 2011-11-27 12:35:02 +01:00
0dbd47b3df A couple of wording fixes suggested by Bruce 2010-06-15 21:11:20 +02:00
1a8251e015 Add a whole bunch of basic documentation. I'm sure there's more to do,
but this is at least a start.
2010-06-14 21:40:15 +02:00
834126800f Add instructions for how to set up a development enviroment, based on
a readme file from Selena
2010-06-14 21:37:06 +02:00