Age | Commit message (Collapse) | Author |
|
|
|
|
|
Switch the system to properly use django and postgres timezone support,
by allowing each conference to render all date related information in a
conference specific timezone (using the one that has already been
specified on the conference, per a previous commit).
All non-conference parts of the system keep using the default timezone
as specified in settings.TIME_ZONE.
This includes a migration that updates the existing sessions, session
slots and volunteer slots based on what timezone has been configured
for the conference (since previously everything was stored in the
wrong timezone if the conference was in anything but the default
one).
In order to make this work for non-django-orm queries, a context
manager that swaps the timezone to the conference and back out is
introduced, and related to that a way to get a cursor that turns off
django's protection against doing exactly this.
This finally removes the very ugly "timediff" column on the conference
which was a quick hack back in the days to support ical feeds using utc.
In passing, this also:
* Fixes ical feeds to include all required fields (uid and dtstamp
were missing on schedule entries)
* Fixes xml feed to use conference local time (fixes #8)
* Clarify what "valid until" and "active until" means in the help text
on discount codes and registration tpes.
* Don't duplicate dates in schedule xml feeds (seems others don't, and
there is no clear spec anywhere that I can find)
|
|
This means each conference news now gets a proper permanent link
going to /events/<conference>/news/<slug>-<id>/, and this is the link
that's put out in the RSS feeds.
A page is created at /events/<conference>/news/ which contains the full
news history for the conference.
This creates a new "section" in the templates called "news", for those
skins that care about the section.
Fixes #44
|
|
|
|
get_conference_or_404(urlname) basically does a get_object_or_404() on the
Conference object with the specified urlname, and for now that's all it
does. But this will later be used to control the per-conference timezone
settings.
|
|
As a step on the way to better timezone support, use the django function
timezone.now() instead of datetime.now(). As long as we haven't enabled
timezones globally this becomes a no-op and does exactly what it did
before, but once timezones are enabled it will generate datetimes that
are aware of this.
No functionality change but gets a lot of boiler-plate out of the way
making the verification of the rest of the timezone work easier.
|
|
Sibling imports should be prefixed with a period. Good idea in py2, will
eventually become required in py3, so another small step.
|
|
|
|
In an effort to close up with PEP8, we should use spaces for indent
rather than tabs... Time to update your editor config!
|
|
|
|
A number of improvements and unifications for news:
* News posts now get authors
* Authors are from NewsPosterProfile:s, which will include a full name
and an "urlname"
* Authors can also be specified as "can post global", which should
give rights to post on the global feed. Right now the global feed
requires superuser access anwyay, but for the future...
* News can now be posted at conference level as well as previous
global only
* Front page of website pulls in a combination of global news and
conference news. Global news can be given a "high priority until"
field that ensure it sits at the top of the frontpage until a
certain date, so conference news can't push it off.
* Each conference gets it's own RSS feed. This one is also available
via JSON for an easy way to pull it into the conference site itself.
* All links to posts in the conference feed goes to the conference
homepage. It's really only designed for transient news.
* Each user also gets it's own RSS feed. This is designed so that it
can be submitted to an aggregator like Planet PostgreSQL which
requires personal feeds. Conference specific news are automatically
prefixed by conference name.
* Each post can individually be toggled if it should be included in
the RSS feed or not
* Re-adds the news archive, with a paginated view
* Each post can individually be toggled for inclusion in the news
archive, so it's possible to create more transient news. News
archive *only* contains news from the global feed, not the
conference feeds.
* Makes the "read more" button on the frontpage only show up if the
entire news post did not fit
|
|
This replaces the base design with something that's a lot more modern,
based on bootstrap etc. Lots of inspiration from the updated main
postgresql.org website. Also is at least attempting to be a little bit
responsive, unlike previous website.
Also restructures the event section completely, to be able to more focus
on the events that we run.
Does not change anything fundamental in the backend systems, and
*should* have no effect on downstream conferences as those templates are
just wrapped in a different otuside now.
|