in (unless it's a forced login) will be the (incomplete) "my" view.
Username and logout link are in the upper right corner while logged
in.
- Legacy-Id: 163
bits of configuration (e.g., mail server, any authentication required,
etc.) It has different behavior based on the setting of the
SERVER_MODE setting:
- 'development' or 'test': the message will be sent as an attachment
to ietf.tracker.archive+SERVER_MODE@gmail.com; the actual destination
supplied won't be used.
- 'production': the message will be sent to the addressees and a
copy sent to ietf.tracker.archive+production@gmail.com .
There are several functions to call, depending on what you want
to pass:
- send_mail_text() takes a request, "To:" list, From header (or None
to default), Subject text, Body text, an optional Cc: list, and
an optional dict with extra headers.
- send_mail() takes a template and a context instead of the body text,
and renders the template with the given context.
- send_mail_subj() takes a template for the subject as well as for the
body. It uses the same context to render both templates.
- Legacy-Id: 159
Closing the ipr_generic.cgi ticket, but leaving ipr.cgi and notify.cgi open
till further testing has been done. Also adding a new task for the IPR
update form.
There may still be some dead code to clean out, but I'm committing what
I have now since it provides working form submission :-)
- Legacy-Id: 158
Expand the sessions() helper function in MeetingTime to iterate over
the sessions and set the room_id helper attribute to the correct room.
This means that for the list returned by sessions(), s.room_id is the
correct room for this time. It also changes the return value from
a QuerySet to a list, so you can't filter it further like a QuerySet -
but I don't think anything is using this functionality.
I didn't do the same for combined_sessions because I don't actually
know what that's used for - if it should be part of sessions, or
if it's even used.
- Legacy-Id: 157
on failure (DoesNotExist instead of IndexError).
Call the database query once and store it in a temp variable instead
of doing the same query twice.
Handle day_id=NULL for the morning beverages/breakfast time.
Use the DoesNotExist exception instead of a generic except: for
the area - except: is likely to hide things that you didn't expect.
- Legacy-Id: 156
couple of aspects:
- ietfauth.auth.EmailBackEnd is a django.contrib.auth backend to allow
two modified authentication methods:
- using email address (stored in django user table) as login username
- using htpasswd-style "crypt" passwords (for compatability with
existing user database). On the first successful login, the
password will be re-hashed to the django-hash style password.
- ietfauth.models.UserMap: a mapping from django user to IETF
person. This is configured as the profile table, meaning
that if you have a django user (e.g., from the RequestContext),
you can use user.get_profile.person to get to the IETF person.
- ietfauth.models has models for the "legacy" username/person mapping
tables (LiaisonUser aka "users" and WgPassword aka "wg_password").
This is to allow mapping of legacy permissions to django permissions
by walking these tables and applying permissions to users. The plan
is to discard these tables eventually.
- Legacy-Id: 155
which means we need to look up area_acronym, but that's also a foreign
key, so again we look up the value we want: acronym. Simply doing
dictsort in the template on area would sort on the FK, I assume --
at least it didn't resolve things to 3 levels, each time looking up the
key we were interested in...
- Legacy-Id: 151
Given the number of kwargs that some constructors take, perhaps the
better thing would be to be able to say "this field gets these
kwargs", so we could instead pass something like
other = { 'foo': {'queryset': Foo.objects.all()}, 'bar': {'fwip': 'baz'} }.
- Legacy-Id: 147
into view_new.py
* Added error indication of the top of the page, in case there are any
errors further down.
* Set more fields to required, matching the old perl code
* Various other tweaks.
- Legacy-Id: 140
callback to provide a RegexpField class.
* Added checkbox for submitter contact information being the same as
IETF contact information; with javascript support and validation
support.
* Cleaned out the old split_form() and mk_formatting_form() functions from
ietf.utils.
- Legacy-Id: 138
* Add 'area' to class ResolveAcronym
* MeetingTime.session returns WgMeetingSession objects, BUT STILL NEED TO FIGURE OUT WHICH sched_room_id[1|2|3] TO USE
- Legacy-Id: 137
to Django, work around this in our code. Sort the session list with Python
code, rather than doing it as part of the query. Since the session list is
very short, there is no problem with memory consumption in doing it this way.
- Legacy-Id: 136
Note: SVN reference [133] has been migrated to Git commit 587d2baafe
* add a method, acronym_name to ResolveAcronym
* Sunday sessions displaying is done
* Need to figure out how to increment date by one day in a template
- Legacy-Id: 135
utilities into separate files.
* Added a log() function in ietf/utils. It uses syslog, but adds some
information about where it was called from.
- Legacy-Id: 130