diff --git a/ietf/community/models.py b/ietf/community/models.py index e719f2315..ffaf307b0 100644 --- a/ietf/community/models.py +++ b/ietf/community/models.py @@ -22,7 +22,7 @@ class CommunityList(models.Model): else: return 'ID list' - def __unicode__(self): + def __str__(self): return self.long_name() def get_absolute_url(self): @@ -76,7 +76,7 @@ class SearchRule(models.Model): # when new documents are submitted name_contains_index = models.ManyToManyField(Document) - def __unicode__(self): + def __str__(self): return "%s %s %s/%s/%s/%s" % (self.community_list, self.rule_type, self.state, self.group, self.person, self.text) class EmailSubscription(models.Model): @@ -89,7 +89,7 @@ class EmailSubscription(models.Model): ] notify_on = models.CharField(max_length=30, choices=NOTIFICATION_CHOICES, default="all") - def __unicode__(self): + def __str__(self): return "%s to %s (%s changes)" % (self.email, self.community_list, self.notify_on) diff --git a/ietf/dbtemplate/models.py b/ietf/dbtemplate/models.py index e21633ac2..9ba70a9be 100644 --- a/ietf/dbtemplate/models.py +++ b/ietf/dbtemplate/models.py @@ -27,7 +27,7 @@ class DBTemplate(models.Model): content = models.TextField( blank=False, null=False, ) group = ForeignKey( Group, blank=True, null=True, ) - def __unicode__(self): + def __str__(self): return self.title def clean(self): diff --git a/ietf/doc/models.py b/ietf/doc/models.py index 58cbed06e..123ad76c5 100644 --- a/ietf/doc/models.py +++ b/ietf/doc/models.py @@ -38,7 +38,7 @@ class StateType(models.Model): slug = models.CharField(primary_key=True, max_length=30) # draft, draft-iesg, charter, ... label = models.CharField(max_length=255, help_text="Label that should be used (e.g. in admin) for state drop-down for this type of state") # State, IESG state, WG state, ... - def __unicode__(self): + def __str__(self): return self.slug @checks.register('db-consistency') @@ -65,7 +65,7 @@ class State(models.Model): next_states = models.ManyToManyField('State', related_name="previous_states", blank=True) - def __unicode__(self): + def __str__(self): return self.name class Meta: @@ -530,7 +530,7 @@ class RelatedDocument(models.Model): relationship = ForeignKey(DocRelationshipName) def action(self): return self.relationship.name - def __unicode__(self): + def __str__(self): return "%s %s %s" % (self.source.name, self.relationship.name.lower(), self.target.name) def is_downref(self): @@ -600,7 +600,7 @@ class DocumentAuthorInfo(models.Model): class DocumentAuthor(DocumentAuthorInfo): document = ForeignKey('Document') - def __unicode__(self): + def __str__(self): return "%s %s (%s)" % (self.document.name, self.person, self.order) @@ -613,7 +613,7 @@ validate_docname = RegexValidator( class Document(DocumentInfo): name = models.CharField(max_length=255, validators=[validate_docname,], unique=True) # immutable - def __unicode__(self): + def __str__(self): return self.name def get_absolute_url(self): @@ -849,7 +849,7 @@ class RelatedDocHistory(models.Model): source = ForeignKey('DocHistory') target = ForeignKey('DocAlias', related_name="reversely_related_document_history_set") relationship = ForeignKey(DocRelationshipName) - def __unicode__(self): + def __str__(self): return "%s %s %s" % (self.source.doc.name, self.relationship.name.lower(), self.target.name) class DocHistoryAuthor(DocumentAuthorInfo): @@ -857,7 +857,7 @@ class DocHistoryAuthor(DocumentAuthorInfo): # easier to write generic code document = ForeignKey('DocHistory', related_name="documentauthor_set") - def __unicode__(self): + def __str__(self): return "%s %s (%s)" % (self.document.doc.name, self.person, self.order) class DocHistory(DocumentInfo): @@ -868,7 +868,7 @@ class DocHistory(DocumentInfo): # property name = models.CharField(max_length=255) - def __unicode__(self): + def __str__(self): return str(self.doc.name) def canonical_name(self): @@ -917,7 +917,7 @@ class DocAlias(models.Model): def document(self): return self.docs.first() - def __unicode__(self): + def __str__(self): return "%s-->%s" % (self.name, ','.join([str(d.name) for d in self.docs.all() if isinstance(d, Document) ])) document_link = admin_link("document") class Meta: @@ -1023,7 +1023,7 @@ class DocEvent(models.Model): def get_dochistory(self): return DocHistory.objects.filter(time__lte=self.time,doc__name=self.doc.name).order_by('-time', '-pk').first() - def __unicode__(self): + def __str__(self): return "%s %s by %s at %s" % (self.doc.name, self.get_type_display().lower(), self.by.plain_name(), self.time) def save(self, *args, **kwargs): @@ -1056,7 +1056,7 @@ class BallotType(models.Model): order = models.IntegerField(default=0) positions = models.ManyToManyField(BallotPositionName, blank=True) - def __unicode__(self): + def __str__(self): return "%s: %s" % (self.name, self.doc_type.name) class Meta: @@ -1183,7 +1183,7 @@ class DeletedEvent(models.Model): by = ForeignKey(Person) time = models.DateTimeField(default=datetime.datetime.now) - def __unicode__(self): + def __str__(self): return "%s by %s %s" % (self.content_type, self.by, self.time) class EditedAuthorsDocEvent(DocEvent): diff --git a/ietf/group/models.py b/ietf/group/models.py index 2069d6ca9..62879df80 100644 --- a/ietf/group/models.py +++ b/ietf/group/models.py @@ -42,7 +42,7 @@ class GroupInfo(models.Model): unused_states = models.ManyToManyField('doc.State', help_text="Document states that have been disabled for the group.", blank=True) unused_tags = models.ManyToManyField(DocTagName, help_text="Document tags that have been disabled for the group.", blank=True) - def __unicode__(self): + def __str__(self): return self.name def ad_role(self): @@ -252,7 +252,7 @@ class GroupURL(models.Model): name = models.CharField(max_length=255) url = models.URLField() - def __unicode__(self): + def __str__(self): return "%s (%s)" % (self.url, self.name) class GroupMilestoneInfo(models.Model): @@ -268,7 +268,7 @@ class GroupMilestoneInfo(models.Model): docs = models.ManyToManyField('doc.Document', blank=True) - def __unicode__(self): + def __str__(self): return self.desc[:20] + "..." class Meta: abstract = True @@ -288,7 +288,7 @@ class GroupStateTransitions(models.Model): state = ForeignKey('doc.State', help_text="State for which the next states should be overridden") next_states = models.ManyToManyField('doc.State', related_name='previous_groupstatetransitions_states') - def __unicode__(self): + def __str__(self): return '%s "%s" -> %s' % (self.group.acronym, self.state.name, [s.name for s in self.next_states.all()]) GROUP_EVENT_CHOICES = [ @@ -309,7 +309,7 @@ class GroupEvent(models.Model): by = ForeignKey(Person) desc = models.TextField() - def __unicode__(self): + def __str__(self): return "%s %s at %s" % (self.by.plain_name(), self.get_type_display().lower(), self.time) class Meta: @@ -326,7 +326,7 @@ class Role(models.Model): group = ForeignKey(Group) person = ForeignKey(Person) email = ForeignKey(Email, help_text="Email address used by person for this role.") - def __unicode__(self): + def __str__(self): return "%s is %s in %s" % (self.person.plain_name(), self.name.name, self.group.acronym or self.group.name) def formatted_ascii_email(self): @@ -347,7 +347,7 @@ class RoleHistory(models.Model): group = ForeignKey(GroupHistory) person = ForeignKey(Person) email = ForeignKey(Email, help_text="Email address used by person for this role.") - def __unicode__(self): + def __str__(self): return "%s is %s in %s" % (self.person.plain_name(), self.name.name, self.group.acronym) class Meta: diff --git a/ietf/iesg/models.py b/ietf/iesg/models.py index 40444a203..d20172cbd 100644 --- a/ietf/iesg/models.py +++ b/ietf/iesg/models.py @@ -49,7 +49,7 @@ class TelechatAgendaItem(models.Model): type = models.IntegerField(db_column='template_type', choices=TYPE_CHOICES, default=3) title = models.CharField(max_length=255, db_column='template_title') - def __unicode__(self): + def __str__(self): type_name = self.TYPE_CHOICES_DICT.get(self.type, str(self.type)) return '%s: %s' % (type_name, self.title or "") @@ -82,7 +82,7 @@ class TelechatDate(models.Model): date = models.DateField(default=next_telechat_date) - def __unicode__(self): + def __str__(self): return self.date.isoformat() class Meta: diff --git a/ietf/ipr/models.py b/ietf/ipr/models.py index 6e69b5b3e..0c79818e1 100644 --- a/ietf/ipr/models.py +++ b/ietf/ipr/models.py @@ -29,7 +29,7 @@ class IprDisclosureBase(models.Model): class Meta: ordering = ['-time', '-id'] - def __unicode__(self): + def __str__(self): return self.title def get_absolute_url(self): @@ -172,7 +172,7 @@ class IprDocRel(models.Model): else: return name - def __unicode__(self): + def __str__(self): if self.revisions: return "%s which applies to %s-%s" % (self.disclosure, self.document.name, self.revisions) else: @@ -183,7 +183,7 @@ class RelatedIpr(models.Model): target = ForeignKey(IprDisclosureBase,related_name='relatedipr_target_set') relationship = ForeignKey(DocRelationshipName) # Re-use; change to a dedicated RelName if needed - def __unicode__(self): + def __str__(self): return "%s %s %s" % (self.source.title, self.relationship.name.lower(), self.target.title) class IprEvent(models.Model): @@ -196,7 +196,7 @@ class IprEvent(models.Model): in_reply_to = ForeignKey(Message, null=True, blank=True,related_name='irtoevents') response_due= models.DateTimeField(blank=True,null=True) - def __unicode__(self): + def __str__(self): return "%s %s by %s at %s" % (self.disclosure.title, self.type.name.lower(), self.by.plain_name(), self.time) def response_past_due(self): diff --git a/ietf/liaisons/models.py b/ietf/liaisons/models.py index 7af82a5ed..ed2ddfac9 100644 --- a/ietf/liaisons/models.py +++ b/ietf/liaisons/models.py @@ -49,7 +49,7 @@ class LiaisonStatement(models.Model): ordering = ['id'] - def __unicode__(self): + def __str__(self): return self.title or "" def change_state(self,state_id=None,person=None): @@ -203,7 +203,7 @@ class LiaisonStatementAttachment(models.Model): document = ForeignKey(Document) removed = models.BooleanField(default=False) - def __unicode__(self): + def __str__(self): return self.document.name @@ -212,7 +212,7 @@ class RelatedLiaisonStatement(models.Model): target = ForeignKey(LiaisonStatement, related_name='target_of_set') relationship = ForeignKey(DocRelationshipName) - def __unicode__(self): + def __str__(self): return "%s %s %s" % (self.source.title, self.relationship.name.lower(), self.target.title) @@ -221,7 +221,7 @@ class LiaisonStatementGroupContacts(models.Model): contacts = models.CharField(max_length=255,blank=True) cc_contacts = models.CharField(max_length=255,blank=True) - def __unicode__(self): + def __str__(self): return "%s" % self.group.name @@ -232,7 +232,7 @@ class LiaisonStatementEvent(models.Model): statement = ForeignKey(LiaisonStatement) desc = models.TextField() - def __unicode__(self): + def __str__(self): return "%s %s by %s at %s" % (self.statement.title, self.type.slug, self.by.plain_name(), self.time) class Meta: diff --git a/ietf/mailinglists/models.py b/ietf/mailinglists/models.py index 119afac74..63e4808d8 100644 --- a/ietf/mailinglists/models.py +++ b/ietf/mailinglists/models.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2016, All Rights Reserved +# Copyright The IETF Trust 2016-2019, All Rights Reserved from django.conf import settings @@ -12,7 +12,7 @@ class List(models.Model): name = models.CharField(max_length=32) description = models.CharField(max_length=256) advertised = models.BooleanField(default=True) - def __unicode__(self): + def __str__(self): return "" % self.name def info_url(self): return settings.MAILING_LIST_INFO_URL % {'list_addr': self.name } @@ -21,7 +21,7 @@ class Subscribed(models.Model): time = models.DateTimeField(auto_now_add=True) email = models.CharField(max_length=64, validators=[validate_email]) lists = models.ManyToManyField(List) - def __unicode__(self): + def __str__(self): return "" % (self.email, self.time) class Meta: verbose_name_plural = "Subscribed" @@ -30,7 +30,7 @@ class Whitelisted(models.Model): time = models.DateTimeField(auto_now_add=True) email = models.CharField("Email address", max_length=64, validators=[validate_email]) by = ForeignKey(Person) - def __unicode__(self): + def __str__(self): return "" % (self.email, self.time) class Meta: verbose_name_plural = "Whitelisted" diff --git a/ietf/mailtrigger/models.py b/ietf/mailtrigger/models.py index 99b4b306b..7e770b388 100644 --- a/ietf/mailtrigger/models.py +++ b/ietf/mailtrigger/models.py @@ -37,7 +37,7 @@ class MailTrigger(models.Model): class Meta: ordering = ["slug"] - def __unicode__(self): + def __str__(self): return self.slug class Recipient(models.Model): @@ -48,7 +48,7 @@ class Recipient(models.Model): class Meta: ordering = ["slug"] - def __unicode__(self): + def __str__(self): return self.slug def gather(self, **kwargs): diff --git a/ietf/meeting/models.py b/ietf/meeting/models.py index a4626c67e..5bce1032d 100644 --- a/ietf/meeting/models.py +++ b/ietf/meeting/models.py @@ -107,7 +107,7 @@ class Meeting(models.Model): attendees = models.IntegerField(blank=True, null=True, default=None, help_text="Number of Attendees for backfilled meetings, leave it blank for new meetings, and then it is calculated from the registrations") - def __unicode__(self): + def __str__(self): if self.type_id == "ietf": return "IETF-%s" % (self.number) else: @@ -315,7 +315,7 @@ class ResourceAssociation(models.Model): icon = models.CharField(max_length=64) # icon to be found in /static/img desc = models.CharField(max_length=256) - def __unicode__(self): + def __str__(self): return self.desc def json_dict(self, host_scheme): @@ -344,7 +344,7 @@ class Room(models.Model): y2 = models.SmallIntegerField(null=True, blank=True, default=None) # end floorplan-related stuff - def __unicode__(self): + def __str__(self): return "%s size: %s" % (self.name, self.capacity) def delete_timeslots(self): @@ -426,7 +426,7 @@ class FloorPlan(models.Model): class Meta: ordering = ['-id',] # - def __unicode__(self): + def __str__(self): return 'floorplan-%s-%s' % (self.meeting.number, xslugify(self.name)) # === Schedules, Sessions, Timeslots and Assignments =========================== @@ -472,7 +472,7 @@ class TimeSlot(models.Model): self._reg_info = None return self._reg_info - def __unicode__(self): + def __str__(self): location = self.get_location() if not location: location = "(no location)" @@ -616,7 +616,7 @@ class Schedule(models.Model): badness = models.IntegerField(null=True, blank=True) # considering copiedFrom = ForeignKey('Schedule', blank=True, null=True) - def __unicode__(self): + def __str__(self): return "%s:%s(%s)" % (self.meeting, self.name, self.owner) def base_url(self): @@ -725,7 +725,7 @@ class SchedTimeSessAssignment(models.Model): class Meta: ordering = ["timeslot__time", "timeslot__type__slug", "session__group__parent__name", "session__group__acronym", "session__name", ] - def __unicode__(self): + def __str__(self): return "%s [%s<->%s]" % (self.schedule, self.session, self.timeslot) @property @@ -828,7 +828,7 @@ class Constraint(models.Model): active_status = None - def __unicode__(self): + def __str__(self): return "%s %s target=%s person=%s" % (self.source, self.name.name.lower(), self.target, self.person) def brief_display(self): @@ -868,7 +868,7 @@ class SessionPresentation(models.Model): ordering = ('order',) unique_together = (('session', 'document'),) - def __unicode__(self): + def __str__(self): return "%s -> %s-%s" % (self.session, self.document.name, self.rev) constraint_cache_uses = 0 @@ -1007,7 +1007,7 @@ class Session(models.Model): def is_material_submission_cutoff(self): return datetime.date.today() > self.meeting.get_submission_correction_date() - def __unicode__(self): + def __str__(self): if self.meeting.type_id == "interim": return self.meeting.number @@ -1154,7 +1154,7 @@ class ImportantDate(models.Model): class Meta: ordering = ["-meeting_id","date", ] - def __unicode__(self): + def __str__(self): return '%s : %s : %s' % ( self.meeting, self.name, self.date ) class SlideSubmission(models.Model): diff --git a/ietf/message/models.py b/ietf/message/models.py index 3e06e7da4..0740d1f27 100644 --- a/ietf/message/models.py +++ b/ietf/message/models.py @@ -33,7 +33,7 @@ class Message(models.Model): class Meta: ordering = ['time'] - def __unicode__(self): + def __str__(self): return "'%s' %s -> %s" % (self.subject, self.frm, self.to) def get(self, field): @@ -49,7 +49,7 @@ class MessageAttachment(models.Model): removed = models.BooleanField(default=False) body = models.TextField() - def __unicode__(self): + def __str__(self): return self.filename @@ -67,7 +67,7 @@ class SendQueue(models.Model): class Meta: ordering = ['time'] - def __unicode__(self): + def __str__(self): return "'%s' %s -> %s (sent at %s)" % (self.message.subject, self.message.frm, self.message.to, self.sent_at or "") @@ -76,7 +76,7 @@ class AnnouncementFrom(models.Model): group = ForeignKey(Group) address = models.CharField(max_length=255) - def __unicode__(self): + def __str__(self): return self.address class Meta: diff --git a/ietf/name/models.py b/ietf/name/models.py index 5a257c22f..19d2d7eea 100644 --- a/ietf/name/models.py +++ b/ietf/name/models.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2007, All Rights Reserved +# Copyright The IETF Trust 2010-2019, All Rights Reserved from django.db import models @@ -11,7 +11,7 @@ class NameModel(models.Model): used = models.BooleanField(default=True) order = models.IntegerField(default=0) - def __unicode__(self): + def __str__(self): return self.name class Meta: diff --git a/ietf/nomcom/models.py b/ietf/nomcom/models.py index 8f8901e83..92c1d1ed7 100644 --- a/ietf/nomcom/models.py +++ b/ietf/nomcom/models.py @@ -59,7 +59,7 @@ class NomCom(models.Model): verbose_name_plural = 'NomComs' verbose_name = 'NomCom' - def __unicode__(self): + def __str__(self): return self.group.acronym def save(self, *args, **kwargs): @@ -108,7 +108,7 @@ class Nomination(models.Model): class Meta: verbose_name_plural = 'Nominations' - def __unicode__(self): + def __str__(self): return "%s (%s)" % (self.candidate_name, self.candidate_email) @@ -127,7 +127,7 @@ class Nominee(models.Model): unique_together = ('email', 'nomcom') ordering = ['-nomcom__group__acronym', 'person__name', ] - def __unicode__(self): + def __str__(self): if self.email.person and self.email.person.name: return '%s <%s> %s' % (self.email.person.plain_name(), self.email.address, self.nomcom.year()) else: @@ -159,7 +159,7 @@ class NomineePosition(models.Model): self.state = NomineePositionStateName.objects.get(slug='pending') super(NomineePosition, self).save(**kwargs) - def __unicode__(self): + def __str__(self): return "%s - %s - %s" % (self.nominee, self.state, self.position) @property @@ -182,7 +182,7 @@ class Position(models.Model): class Meta: verbose_name_plural = 'Positions' - def __unicode__(self): + def __str__(self): return self.name def save(self, *args, **kwargs): @@ -224,7 +224,7 @@ class Topic(models.Model): class Meta: verbose_name_plural = 'Topics' - def __unicode__(self): + def __str__(self): return self.subject def save(self, *args, **kwargs): @@ -257,7 +257,7 @@ class Feedback(models.Model): objects = FeedbackManager() - def __unicode__(self): + def __str__(self): return "from %s" % self.author class Meta: diff --git a/ietf/person/models.py b/ietf/person/models.py index 9fc01b800..bfc329d0f 100644 --- a/ietf/person/models.py +++ b/ietf/person/models.py @@ -48,7 +48,7 @@ class Person(models.Model): name_from_draft = models.CharField("Full Name (from submission)", null=True, max_length=255, editable=False, help_text="Name as found in a draft submission.") consent = models.NullBooleanField("I hereby give my consent to the use of the personal details I have provided (photo, bio, name, email) within the IETF Datatracker", null=True, default=None) - def __unicode__(self): + def __str__(self): return self.plain_name() def name_parts(self): return name_parts(self.name) @@ -248,7 +248,7 @@ class Alias(models.Model): send_mail_preformatted(None, msg) - def __unicode__(self): + def __str__(self): return self.name class Meta: verbose_name_plural = "Aliases" @@ -263,7 +263,7 @@ class Email(models.Model): active = models.BooleanField(default=True) # Old email addresses are *not* purged, as history # information points to persons through these - def __unicode__(self): + def __str__(self): return self.address or "Email object with id: %s"%self.pk def get_name(self): @@ -364,7 +364,7 @@ class PersonalApiKey(models.Model): self._cached_hash = base64.urlsafe_b64encode(key).decode('ascii') return self._cached_hash - def __unicode__(self): + def __str__(self): return "%s (%s): %s ..." % (self.endpoint, self.created.strftime("%Y-%m-%d %H:%M"), self.hash()[:16]) PERSON_EVENT_CHOICES = [ @@ -379,7 +379,7 @@ class PersonEvent(models.Model): type = models.CharField(max_length=50, choices=PERSON_EVENT_CHOICES) desc = models.TextField() - def __unicode__(self): + def __str__(self): return "%s %s at %s" % (self.person.plain_name(), self.get_type_display().lower(), self.time) class Meta: diff --git a/ietf/review/models.py b/ietf/review/models.py index 1206c439b..2a1536077 100644 --- a/ietf/review/models.py +++ b/ietf/review/models.py @@ -33,7 +33,7 @@ class ReviewerSettings(models.Model): remind_days_before_deadline = models.IntegerField(null=True, blank=True, help_text="To get an email reminder in case you forget to do an assigned review, enter the number of days before review deadline you want to receive it. Clear the field if you don't want a reminder.") expertise = models.TextField(verbose_name="Reviewer's expertise in this team's area", max_length=2048, blank=True, help_text="Describe the reviewer's expertise in this team's area", default='') - def __unicode__(self): + def __str__(self): return "{} in {}".format(self.person, self.team) class Meta: @@ -45,7 +45,7 @@ class ReviewSecretarySettings(models.Model): person = ForeignKey(Person) remind_days_before_deadline = models.IntegerField(null=True, blank=True, help_text="To get an email reminder in case a reviewer forgets to do an assigned review, enter the number of days before review deadline you want to receive it. Clear the field if you don't want a reminder.") - def __unicode__(self): + def __str__(self): return "{} in {}".format(self.person, self.team) class Meta: @@ -78,7 +78,7 @@ class UnavailablePeriod(models.Model): else: return "future" - def __unicode__(self): + def __str__(self): return "{} is unavailable in {} {} - {}".format(self.person, self.team.acronym, self.start_date or "", self.end_date or "") class ReviewWish(models.Model): @@ -88,7 +88,7 @@ class ReviewWish(models.Model): person = ForeignKey(Person) doc = ForeignKey(Document) - def __unicode__(self): + def __str__(self): return "{} wishes to review {} in {}".format(self.person, self.doc.name, self.team.acronym) class Meta: @@ -99,7 +99,7 @@ class NextReviewerInTeam(models.Model): team = ForeignKey(Group, limit_choices_to=~models.Q(reviewteamsettings=None)) next_reviewer = ForeignKey(Person) - def __unicode__(self): + def __str__(self): return "{} next in {}".format(self.next_reviewer, self.team) class Meta: @@ -121,7 +121,7 @@ class ReviewRequest(models.Model): requested_rev = models.CharField(verbose_name="requested revision", max_length=16, blank=True, help_text="Fill in if a specific revision is to be reviewed, e.g. 02") comment = models.TextField(verbose_name="Requester's comments and instructions", max_length=2048, blank=True, help_text="Provide any additional information to show to the review team secretary and reviewer", default='') - def __unicode__(self): + def __str__(self): return "%s review on %s by %s %s" % (self.type, self.doc, self.team, self.state) def all_completed_assignments_for_doc(self): @@ -142,7 +142,7 @@ class ReviewAssignment(models.Model): result = ForeignKey(ReviewResultName, blank=True, null=True) mailarch_url = models.URLField(blank=True, null = True) - def __unicode__(self): + def __str__(self): return "Assignment for %s (%s) : %s %s of %s" % (self.reviewer.person, self.state, self.review_request.team.acronym, self.review_request.type, self.review_request.doc) @@ -161,7 +161,7 @@ class ReviewTeamSettings(models.Model): notify_ad_when = models.ManyToManyField(ReviewResultName, related_name='reviewteamsettings_notify_ad_set', blank=True) secr_mail_alias = models.CharField(verbose_name="Email alias for all of the review team secretaries", max_length=255, blank=True, help_text="Email alias for all of the review team secretaries") - def __unicode__(self): + def __str__(self): return "%s" % (self.group.acronym,) class Meta: diff --git a/ietf/secr/proceedings/models.py b/ietf/secr/proceedings/models.py index 7ddf6d6fe..107da0cd3 100644 --- a/ietf/secr/proceedings/models.py +++ b/ietf/secr/proceedings/models.py @@ -1,3 +1,4 @@ +# Copyright The IETF Trust 2013-2019, All Rights Reserved import os from django.conf import settings @@ -63,7 +64,7 @@ class Registration(models.Model): company = models.CharField(max_length=255) country = models.CharField(max_length=2) - def __unicode__(self): + def __str__(self): return "%s %s" % (self.fname, self.lname) class Meta: db_table = 'registrations' diff --git a/ietf/stats/models.py b/ietf/stats/models.py index de448f0cd..7a139bcf7 100644 --- a/ietf/stats/models.py +++ b/ietf/stats/models.py @@ -17,7 +17,7 @@ class AffiliationAlias(models.Model): alias = models.CharField(max_length=255, help_text="Note that aliases will be matched case-insensitive and both before and after some clean-up.", unique=True) name = models.CharField(max_length=255) - def __unicode__(self): + def __str__(self): return "{} -> {}".format(self.alias, self.name) def save(self, *args, **kwargs): @@ -32,7 +32,7 @@ class AffiliationIgnoredEnding(models.Model): ending = models.CharField(max_length=255, help_text="Regexp with ending, e.g. 'Inc\\.?' - remember to escape .!") - def __unicode__(self): + def __str__(self): return self.ending class CountryAlias(models.Model): @@ -42,7 +42,7 @@ class CountryAlias(models.Model): alias = models.CharField(max_length=255, help_text="Note that lower-case aliases are matched case-insensitive while aliases with at least one uppercase letter is matched case-sensitive. So 'United States' is best entered as 'united states' so it both matches 'United States' and 'United states' and 'UNITED STATES', whereas 'US' is best entered as 'US' so it doesn't accidentally match an ordinary word like 'us'.") country = ForeignKey(CountryName, max_length=255) - def __unicode__(self): + def __str__(self): return "{} -> {}".format(self.alias, self.country.name) class Meta: @@ -58,5 +58,5 @@ class MeetingRegistration(models.Model): person = ForeignKey(Person, blank=True, null=True) email = models.EmailField(blank=True, null=True) - def __unicode__(self): + def __str__(self): return "{} {}".format(self.first_name, self.last_name) diff --git a/ietf/submit/models.py b/ietf/submit/models.py index 0f84d42b2..9450a283d 100644 --- a/ietf/submit/models.py +++ b/ietf/submit/models.py @@ -55,7 +55,7 @@ class Submission(models.Model): draft = ForeignKey(Document, null=True, blank=True) - def __unicode__(self): + def __str__(self): return "%s-%s" % (self.name, self.rev) def submitter_parsed(self): @@ -82,7 +82,7 @@ class SubmissionCheck(models.Model): items = jsonfield.JSONField(null=True, blank=True, default='{}') symbol = models.CharField(max_length=64, default='') # - def __unicode__(self): + def __str__(self): return "%s submission check: %s: %s" % (self.checker, 'Passed' if self.passed else 'Failed', self.message[:48]+'...') def has_warnings(self): return self.warnings != '[]' @@ -95,7 +95,7 @@ class SubmissionEvent(models.Model): by = ForeignKey(Person, null=True, blank=True) desc = models.TextField() - def __unicode__(self): + def __str__(self): return "%s %s by %s at %s" % (self.submission.name, self.desc, self.by.plain_name() if self.by else "(unknown)", self.time) class Meta: @@ -108,7 +108,7 @@ class Preapproval(models.Model): by = ForeignKey(Person) time = models.DateTimeField(default=datetime.datetime.now) - def __unicode__(self): + def __str__(self): return self.name class SubmissionEmailEvent(SubmissionEvent): @@ -116,7 +116,7 @@ class SubmissionEmailEvent(SubmissionEvent): msgtype = models.CharField(max_length=25) in_reply_to = ForeignKey(Message, null=True, blank=True,related_name='irtomanual') - def __unicode__(self): + def __str__(self): return "%s %s by %s at %s" % (self.submission.name, self.desc, self.by.plain_name() if self.by else "(unknown)", self.time) class Meta: