datatracker/ietf/name/resources.py
Sasha Romijn a227813dc5 Add support for the timerange, wg_adjacent and time_relation constraints.
This adds three new constraints to the database and relevant UIs:
- timerange: "This WG can't meet during these timeframes"
- wg_adjacent: "Schedule adjacent to another WG (directly following,
  no breaks, same room)"
- time_relation: schedule the two sessions of one WG on subsequent
  days or with at least one day seperation
 - Legacy-Id: 17289
2020-02-12 10:42:38 +00:00

618 lines
18 KiB
Python

# Copyright The IETF Trust 2014-2020, All Rights Reserved
# Autogenerated by the makeresources management command 2015-08-27 11:01 PDT
from ietf.api import ModelResource
from ietf.api import ToOneField # pyflakes:ignore
from tastypie.fields import ToManyField # pyflakes:ignore
from tastypie.constants import ALL, ALL_WITH_RELATIONS # pyflakes:ignore
from tastypie.cache import SimpleCache
from ietf import api
from ietf.name.models import ( AgendaTypeName, BallotPositionName, ConstraintName,
ContinentName, CountryName, DBTemplateTypeName, DocRelationshipName, DocReminderTypeName,
DocTagName, DocTypeName, DocUrlTagName, DraftSubmissionStateName, FeedbackTypeName,
FormalLanguageName, GroupMilestoneStateName, GroupStateName, GroupTypeName,
ImportantDateName, IntendedStdLevelName, IprDisclosureStateName, IprEventTypeName,
IprLicenseTypeName, LiaisonStatementEventTypeName, LiaisonStatementPurposeName,
LiaisonStatementState, LiaisonStatementTagName, MeetingTypeName, NomineePositionStateName,
ReviewAssignmentStateName, ReviewRequestStateName, ReviewResultName, ReviewTypeName,
RoleName, RoomResourceName, SessionStatusName, StdLevelName, StreamName, TimeSlotTypeName,
TopicAudienceName, ReviewerQueuePolicyName, TimerangeName)
class TimeSlotTypeNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = TimeSlotTypeName.objects.all()
#resource_name = 'timeslottypename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(TimeSlotTypeNameResource())
class GroupStateNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = GroupStateName.objects.all()
#resource_name = 'groupstatename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(GroupStateNameResource())
class DocTagNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = DocTagName.objects.all()
#resource_name = 'doctagname'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(DocTagNameResource())
class IntendedStdLevelNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = IntendedStdLevelName.objects.all()
#resource_name = 'intendedstdlevelname'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(IntendedStdLevelNameResource())
class LiaisonStatementPurposeNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = LiaisonStatementPurposeName.objects.all()
#resource_name = 'liaisonstatementpurposename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(LiaisonStatementPurposeNameResource())
class DraftSubmissionStateNameResource(ModelResource):
next_states = ToManyField('ietf.name.resources.DraftSubmissionStateNameResource', 'next_states', null=True)
class Meta:
cache = SimpleCache()
queryset = DraftSubmissionStateName.objects.all()
#resource_name = 'draftsubmissionstatename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
"next_states": ALL_WITH_RELATIONS,
}
api.name.register(DraftSubmissionStateNameResource())
class DocTypeNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = DocTypeName.objects.all()
#resource_name = 'doctypename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(DocTypeNameResource())
class RoleNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = RoleName.objects.all()
#resource_name = 'rolename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(RoleNameResource())
class IprDisclosureStateNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = IprDisclosureStateName.objects.all()
#resource_name = 'iprdisclosurestatename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(IprDisclosureStateNameResource())
class StdLevelNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = StdLevelName.objects.all()
#resource_name = 'stdlevelname'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(StdLevelNameResource())
class LiaisonStatementEventTypeNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = LiaisonStatementEventTypeName.objects.all()
#resource_name = 'liaisonstatementeventtypename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(LiaisonStatementEventTypeNameResource())
class GroupTypeNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = GroupTypeName.objects.all()
#resource_name = 'grouptypename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(GroupTypeNameResource())
class IprEventTypeNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = IprEventTypeName.objects.all()
#resource_name = 'ipreventtypename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(IprEventTypeNameResource())
class GroupMilestoneStateNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = GroupMilestoneStateName.objects.all()
#resource_name = 'groupmilestonestatename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(GroupMilestoneStateNameResource())
class SessionStatusNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = SessionStatusName.objects.all()
#resource_name = 'sessionstatusname'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(SessionStatusNameResource())
class DocReminderTypeNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = DocReminderTypeName.objects.all()
#resource_name = 'docremindertypename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(DocReminderTypeNameResource())
class ConstraintNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = ConstraintName.objects.all()
#resource_name = 'constraintname'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
"penalty": ALL,
}
api.name.register(ConstraintNameResource())
class MeetingTypeNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = MeetingTypeName.objects.all()
#resource_name = 'meetingtypename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(MeetingTypeNameResource())
class DocRelationshipNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = DocRelationshipName.objects.all()
#resource_name = 'docrelationshipname'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
"revname": ALL,
}
api.name.register(DocRelationshipNameResource())
class RoomResourceNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = RoomResourceName.objects.all()
resource_name = 'roomresourcename' # Needed because tastypie otherwise removes 'resource' from the name
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(RoomResourceNameResource())
class IprLicenseTypeNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = IprLicenseTypeName.objects.all()
#resource_name = 'iprlicensetypename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(IprLicenseTypeNameResource())
class LiaisonStatementTagNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = LiaisonStatementTagName.objects.all()
#resource_name = 'liaisonstatementtagname'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(LiaisonStatementTagNameResource())
class FeedbackTypeNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = FeedbackTypeName.objects.all()
#resource_name = 'feedbacktypename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(FeedbackTypeNameResource())
class LiaisonStatementStateResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = LiaisonStatementState.objects.all()
#resource_name = 'liaisonstatementstate'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(LiaisonStatementStateResource())
class StreamNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = StreamName.objects.all()
#resource_name = 'streamname'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(StreamNameResource())
class BallotPositionNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = BallotPositionName.objects.all()
#resource_name = 'ballotpositionname'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
"blocking": ALL,
}
api.name.register(BallotPositionNameResource())
class DBTemplateTypeNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = DBTemplateTypeName.objects.all()
#resource_name = 'dbtemplatetypename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(DBTemplateTypeNameResource())
class NomineePositionStateNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = NomineePositionStateName.objects.all()
#resource_name = 'nomineepositionstatename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(NomineePositionStateNameResource())
class ReviewRequestStateNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = ReviewRequestStateName.objects.all()
#resource_name = 'reviewrequeststatename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(ReviewRequestStateNameResource())
class ReviewAssignmentStateNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = ReviewAssignmentStateName.objects.all()
#resource_name = 'reviewassignmentstatename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(ReviewAssignmentStateNameResource())
class ReviewTypeNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = ReviewTypeName.objects.all()
#resource_name = 'reviewtypename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(ReviewTypeNameResource())
class ReviewResultNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = ReviewResultName.objects.all()
#resource_name = 'reviewresultname'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(ReviewResultNameResource())
class ReviewerQueuePolicyNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = ReviewerQueuePolicyName.objects.all()
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(ReviewerQueuePolicyNameResource())
class TopicAudienceNameResource(ModelResource):
class Meta:
cache = SimpleCache()
queryset = TopicAudienceName.objects.all()
#resource_name = 'topicaudiencename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(TopicAudienceNameResource())
class FormalLanguageNameResource(ModelResource):
class Meta:
queryset = FormalLanguageName.objects.all()
serializer = api.Serializer()
cache = SimpleCache()
#resource_name = 'formallanguagename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(FormalLanguageNameResource())
class ContinentNameResource(ModelResource):
class Meta:
queryset = ContinentName.objects.all()
serializer = api.Serializer()
cache = SimpleCache()
#resource_name = 'continentname'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(ContinentNameResource())
class CountryNameResource(ModelResource):
continent = ToOneField(ContinentNameResource, 'continent')
class Meta:
queryset = CountryName.objects.all()
serializer = api.Serializer()
cache = SimpleCache()
#resource_name = 'countryname'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
"in_eu": ALL,
"continent": ALL_WITH_RELATIONS,
}
api.name.register(CountryNameResource())
class ImportantDateNameResource(ModelResource):
class Meta:
queryset = ImportantDateName.objects.all()
serializer = api.Serializer()
cache = SimpleCache()
#resource_name = 'importantdatename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
"default_offset_days": ALL,
}
api.name.register(ImportantDateNameResource())
class DocUrlTagNameResource(ModelResource):
class Meta:
queryset = DocUrlTagName.objects.all()
serializer = api.Serializer()
cache = SimpleCache()
#resource_name = 'docurltagname'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(DocUrlTagNameResource())
class AgendaTypeNameResource(ModelResource):
class Meta:
queryset = AgendaTypeName.objects.all()
serializer = api.Serializer()
cache = SimpleCache()
#resource_name = 'agendatypename'
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(AgendaTypeNameResource())
class TimerangeNameResource(ModelResource):
class Meta:
queryset = TimerangeName.objects.all()
serializer = api.Serializer()
cache = SimpleCache()
#resource_name = 'timerangename'
ordering = ['slug', ]
filtering = {
"slug": ALL,
"name": ALL,
"desc": ALL,
"used": ALL,
"order": ALL,
}
api.name.register(TimerangeNameResource())