L10n:Dashboard/Apps/Profile
The profile app is supposed to help drivers to get in touch with localizers. (This needs a sexy name, still.)
The initial implementation is in bug 542901.
This should be done in chunks of similar importance, and visibility.
Contents
Requirements (unfinished)
- Keep email address for contact
- Name and sex to use to address the volunteer
- (sethb) Can we separate the Name into First Name, Last Name
- Or Personal Name, Family Name
- Map to ldap account (not sure if for all)
- editable by localizer (now this requires ldap)
- optional phone number
- format should include country code (e.g. +XX YYY ZZZ ZZZZ)
- timezone
- role, owner/peer, for what project, for which locale
- send out mail to a selected set (extra permissions required)
Other info we could collect
- mailing address
- t-shirt size
Design
There might be take-aways at django-addressbook, not sure.
Lets wrap these into models:
Contact
We're still requiring login via ldap, and as long as we do, we get a bunch of information from there, including an email address, first name, and last name. The email addresses are not always good, so let's have one to overwrite.
# visibility: owner, drivers contact = models.EmailField (None) sex = models.CharField (male, female, None)
PhoneContact
This is different to just Contact, it should be more restricted, and it should only affect owners (possible a peer) that want to be blocking a release. Might be worth splitting the phone and the timezone to allow for more than one phone number, perhaps with tag and comment?
# visibility: owner, drivers phone = // international phone number timezone = models.CharField (check out django-timezones)
Role
This is actually really public data, and somewhat a replacement for the wiki stuff.
Project is interesting, could be an AppVersion or something else. GenericRelation perhaps? Or just string
# visibility: public user = models.ForeignKey(django.contrib.auth.models.User) locale = models.ForeignKey(life.models.Locale) role = models.CharField (owner, peer, more?) project = Resolves to project.
ShipShirt
Not sure if this is one model, but I'd like to punt this off to an updated version of this app anyway, if not a different app.
Ideas
- it could also give us some basic info on the activity of the account on l10n_site. Last 5 actions, last login time etc.