Added Email origin to Email record creation throughout the codebase.
- Legacy-Id: 15149
This commit is contained in:
parent
619b20d2e7
commit
6c3ec5b18e
|
@ -954,6 +954,9 @@ def edit_shepherd(request, name):
|
|||
events = []
|
||||
|
||||
doc.shepherd = form.cleaned_data['shepherd']
|
||||
if not doc.shepherd.origin:
|
||||
doc.shepherd.origin = 'shepherd: %s' % doc.name
|
||||
doc.shepherd.save()
|
||||
|
||||
c = DocEvent(type="added_comment", doc=doc, rev=doc.rev, by=request.user.person)
|
||||
c.desc = "Document shepherd changed to "+ (doc.shepherd.person.name if doc.shepherd else "(None)")
|
||||
|
|
|
@ -958,6 +958,10 @@ def edit(request, group_type=None, acronym=None, action="edit", field=None):
|
|||
group.role_set.filter(name=slug).delete()
|
||||
for e in new:
|
||||
Role.objects.get_or_create(name_id=slug, email=e, group=group, person=e.person)
|
||||
if not e.origin or e.origin == e.person.user.username:
|
||||
e.origin = "role: %s %s" % (group.acronym, slug)
|
||||
e.save()
|
||||
|
||||
added = set(new) - set(old)
|
||||
deleted = set(old) - set(new)
|
||||
if added:
|
||||
|
@ -1206,6 +1210,9 @@ def stream_edit(request, acronym):
|
|||
group.role_set.filter(name=slug).delete()
|
||||
for e in new:
|
||||
Role.objects.get_or_create(name_id=slug, email=e, group=group, person=e.person)
|
||||
if not e.origin or e.origin == e.person.user.username:
|
||||
e.origin = "role: %s %s" % (group.acronym, slug)
|
||||
e.save()
|
||||
|
||||
return redirect("ietf.group.views.streams")
|
||||
else:
|
||||
|
|
|
@ -500,6 +500,15 @@ class OutgoingLiaisonForm(LiaisonModelForm):
|
|||
if has_role(self.user, "Liaison Manager"):
|
||||
self.fields['to_groups'].initial = [queryset.first()]
|
||||
|
||||
def save(self, commit=False):
|
||||
instance = super(EditModelForm, self).save(commit=False)
|
||||
|
||||
if 'from_contact' in self.changed_data:
|
||||
email = self.cleaned_data.get('from_contact')
|
||||
if not email.origin:
|
||||
email.origin = "liaison: %s" % (','.join([ g.acronym for g in instance.from_groups.all() ]))
|
||||
email.save()
|
||||
|
||||
class EditLiaisonForm(LiaisonModelForm):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(EditLiaisonForm, self).__init__(*args, **kwargs)
|
||||
|
|
|
@ -372,7 +372,7 @@ def make_nomineeposition(nomcom, candidate, position, author):
|
|||
def make_nomineeposition_for_newperson(nomcom, candidate_name, candidate_email, position, author):
|
||||
|
||||
# This is expected to fail if called with an existing email address
|
||||
email = Email.objects.create(address=candidate_email, origin=nomcom.group.acronym)
|
||||
email = Email.objects.create(address=candidate_email, origin="nominee: %s" % nomcom.group.acronym)
|
||||
person = Person.objects.create(name=candidate_name,
|
||||
ascii=unidecode_name(candidate_name),
|
||||
)
|
||||
|
|
|
@ -101,7 +101,7 @@ with db_con.cursor() as c:
|
|||
for name in new_aliases:
|
||||
Alias.objects.create(person=person, name=name)
|
||||
|
||||
email, created = Email.objects.get_or_create(address=row.email, person=person, origin=__name__)
|
||||
email, created = Email.objects.get_or_create(address=row.email, person=person, origin="import: %s" % __name__)
|
||||
if created:
|
||||
print "created email", email
|
||||
|
||||
|
|
|
@ -214,6 +214,10 @@ def people(request, name):
|
|||
# create role
|
||||
Role.objects.create(name_id='pre-ad',group=area,email=email,person=person)
|
||||
|
||||
if not email.origin or email.origin == person.user.username:
|
||||
email.origin = "role: %s %s" % (area.acronym, 'pre-ad')
|
||||
email.save()
|
||||
|
||||
messages.success(request, 'New Area Director added successfully!')
|
||||
return redirect('ietf.secr.areas.views.view', name=name)
|
||||
else:
|
||||
|
|
|
@ -178,6 +178,12 @@ class EditModelForm(forms.ModelForm):
|
|||
else:
|
||||
m.tags.remove('rfc-rev')
|
||||
|
||||
if 'shepherd' in self.changed_data:
|
||||
email = self.cleaned_data.get('shepherd')
|
||||
if not email.origin:
|
||||
email.origin = 'shepherd: %s' % m.name
|
||||
email.save()
|
||||
|
||||
# handle replaced by
|
||||
|
||||
return m
|
||||
|
|
|
@ -193,6 +193,9 @@ class RoleForm(forms.Form):
|
|||
name = cleaned_data['name']
|
||||
group_acronym = cleaned_data['group_acronym']
|
||||
|
||||
if email.person != person:
|
||||
raise forms.ValidationError('ERROR: The person associated with the chosen email address is different from the chosen person')
|
||||
|
||||
if Role.objects.filter(name=name,group=self.group,person=person,email=email):
|
||||
raise forms.ValidationError('ERROR: This is a duplicate entry')
|
||||
|
||||
|
|
|
@ -347,6 +347,10 @@ def people(request, acronym):
|
|||
email=email,
|
||||
group=group)
|
||||
|
||||
if not email.origin or email.origin == person.user.username:
|
||||
email.origin = "role: %s %s" % (group.acronym, name.slug)
|
||||
email.save()
|
||||
|
||||
messages.success(request, 'New %s added successfully!' % name)
|
||||
return redirect('ietf.secr.groups.views.people', acronym=group.acronym)
|
||||
else:
|
||||
|
|
|
@ -93,6 +93,10 @@ def main(request):
|
|||
email=email,
|
||||
group=group)
|
||||
|
||||
if not email.origin or email.origin == person.user.username:
|
||||
email.origin = "role: %s %s" % (group.acronym, name.slug)
|
||||
email.save()
|
||||
|
||||
messages.success(request, 'New %s added successfully!' % name)
|
||||
url = reverse('ietf.secr.roles.views.main') + '?group=%s' % group.acronym
|
||||
return HttpResponseRedirect(url)
|
||||
|
|
|
@ -306,7 +306,7 @@ def get_meeting_registration_data(meeting):
|
|||
try:
|
||||
email = Email.objects.get(person=person, address=address[:64])
|
||||
except Email.DoesNotExist:
|
||||
email = Email.objects.create(person=person, address=address[:64], origin='ietf %s registration'%meeting.number)
|
||||
email = Email.objects.create(person=person, address=address[:64], origin='registration: ietf-%s'%meeting.number)
|
||||
if email.address != address:
|
||||
debug.say("Truncated address: %s --> %s" % (address, email.address))
|
||||
|
||||
|
|
|
@ -452,7 +452,7 @@ def ensure_person_email_info_exists(name, email, docname):
|
|||
|
||||
try:
|
||||
email = person.email_set.get(address=addr)
|
||||
email.origin = docname # overwrite earlier origin
|
||||
email.origin = "author: %s" % docname # overwrite earlier origin
|
||||
email.save()
|
||||
except Email.DoesNotExist:
|
||||
try:
|
||||
|
@ -468,7 +468,7 @@ def ensure_person_email_info_exists(name, email, docname):
|
|||
email.person = person
|
||||
if email.time is None:
|
||||
email.time = datetime.datetime.now()
|
||||
email.origin = docname
|
||||
email.origin = "author: %s" % docname
|
||||
email.save()
|
||||
|
||||
return person, email
|
||||
|
|
Loading…
Reference in a new issue