fix: more timezone fixes in liaisons/meeting/message apps
This commit is contained in:
parent
2eb5723574
commit
448cfbb13d
|
@ -31,6 +31,8 @@ from ietf.person.models import Person
|
|||
from ietf.group.models import Group
|
||||
from ietf.liaisons.mails import send_sdo_reminder, possibly_send_deadline_reminder
|
||||
from ietf.liaisons.views import contacts_from_roles, contact_email_from_role
|
||||
from ietf.utils.timezone import date_today, DEADLINE_TZINFO
|
||||
|
||||
|
||||
# -------------------------------------------------
|
||||
# Helper Functions
|
||||
|
@ -244,7 +246,7 @@ class ManagementCommandTests(TestCase):
|
|||
def test_check_liaison_deadlines(self):
|
||||
from django.core.management import call_command
|
||||
|
||||
LiaisonStatementFactory(deadline=datetime.date.today()+datetime.timedelta(days=1))
|
||||
LiaisonStatementFactory(deadline=date_today(DEADLINE_TZINFO)+datetime.timedelta(days=1))
|
||||
|
||||
out = io.StringIO()
|
||||
mailbox_before = len(outbox)
|
||||
|
@ -312,7 +314,7 @@ class LiaisonManagementTests(TestCase):
|
|||
self.assertNotContains(r, 'Private comment')
|
||||
|
||||
def test_taken_care_of(self):
|
||||
liaison = LiaisonStatementFactory(deadline=datetime.date.today()+datetime.timedelta(days=1))
|
||||
liaison = LiaisonStatementFactory(deadline=date_today(DEADLINE_TZINFO)+datetime.timedelta(days=1))
|
||||
|
||||
url = urlreverse('ietf.liaisons.views.liaison_detail', kwargs=dict(object_id=liaison.pk))
|
||||
# normal get
|
||||
|
@ -386,7 +388,7 @@ class LiaisonManagementTests(TestCase):
|
|||
self.assertTrue(liaison.liaisonstatementevent_set.filter(type='posted'))
|
||||
|
||||
def test_edit_liaison(self):
|
||||
liaison = LiaisonStatementFactory(deadline=datetime.date.today()+datetime.timedelta(days=1))
|
||||
liaison = LiaisonStatementFactory(deadline=date_today(DEADLINE_TZINFO) + datetime.timedelta(days=1))
|
||||
LiaisonStatementEventFactory(statement=liaison,type_id='submitted', time=timezone.now()-datetime.timedelta(days=1))
|
||||
LiaisonStatementEventFactory(statement=liaison,type_id='posted')
|
||||
from_group = liaison.from_groups.first()
|
||||
|
@ -698,7 +700,7 @@ class LiaisonManagementTests(TestCase):
|
|||
from_groups = [ str(g.pk) for g in Group.objects.filter(type="sdo") ]
|
||||
to_group = Group.objects.get(acronym="mars")
|
||||
submitter = Person.objects.get(user__username="marschairman")
|
||||
today = datetime.date.today()
|
||||
today = date_today()
|
||||
related_liaison = liaison
|
||||
r = self.client.post(url,
|
||||
dict(from_groups=from_groups,
|
||||
|
@ -777,7 +779,7 @@ class LiaisonManagementTests(TestCase):
|
|||
from_group = Group.objects.get(acronym="mars")
|
||||
to_group = Group.objects.filter(type="sdo")[0]
|
||||
submitter = Person.objects.get(user__username="marschairman")
|
||||
today = datetime.date.today()
|
||||
today = date_today()
|
||||
related_liaison = liaison
|
||||
r = self.client.post(url,
|
||||
dict(from_groups=str(from_group.pk),
|
||||
|
@ -845,7 +847,7 @@ class LiaisonManagementTests(TestCase):
|
|||
from_group = Group.objects.get(acronym="mars")
|
||||
to_group = Group.objects.filter(type="sdo")[0]
|
||||
submitter = Person.objects.get(user__username="marschairman")
|
||||
today = datetime.date.today()
|
||||
today = date_today()
|
||||
r = self.client.post(url,
|
||||
dict(from_groups=str(from_group.pk),
|
||||
from_contact=submitter.email_address(),
|
||||
|
@ -1150,7 +1152,7 @@ class LiaisonManagementTests(TestCase):
|
|||
self.assertTrue('ulm-liaiman@' in outbox[-1]['To'])
|
||||
|
||||
def test_send_liaison_deadline_reminder(self):
|
||||
liaison = LiaisonStatementFactory(deadline=datetime.date.today()+datetime.timedelta(days=1))
|
||||
liaison = LiaisonStatementFactory(deadline=date_today(DEADLINE_TZINFO) + datetime.timedelta(days=1))
|
||||
|
||||
mailbox_before = len(outbox)
|
||||
possibly_send_deadline_reminder(liaison)
|
||||
|
|
|
@ -11,6 +11,8 @@ import debug # pyflakes:ignore
|
|||
from ietf.name.models import ImportantDateName
|
||||
from ietf.meeting.helpers import update_important_dates
|
||||
from ietf.meeting.models import Meeting, ImportantDate
|
||||
from ietf.utils.timezone import date_today
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
|
||||
|
@ -29,7 +31,7 @@ class Command(BaseCommand):
|
|||
if not meeting:
|
||||
self.stderr.write("\nMeeting not found: %s\n" % (m, ))
|
||||
continue
|
||||
if meeting.date < datetime.date.today() + datetime.timedelta(days=max_offset):
|
||||
if meeting.date < date_today(meeting.tz()) + datetime.timedelta(days=max_offset):
|
||||
self.stderr.write("\nMeeting %s: Won't change dates for meetings in the past or close future\n" % (meeting, ))
|
||||
continue
|
||||
self.stdout.write('\n%s\n\n' % (meeting, ))
|
||||
|
|
|
@ -41,7 +41,7 @@ from ietf.person.models import Person
|
|||
from ietf.utils.decorators import memoize
|
||||
from ietf.utils.storage import NoLocationMigrationFileSystemStorage
|
||||
from ietf.utils.text import xslugify
|
||||
from ietf.utils.timezone import datetime_from_date
|
||||
from ietf.utils.timezone import datetime_from_date, date_today
|
||||
from ietf.utils.models import ForeignKey
|
||||
from ietf.utils.validators import (
|
||||
MaxImageSizeValidator, WrappedValidator, validate_file_size, validate_mime_type,
|
||||
|
@ -147,7 +147,12 @@ class Meeting(models.Model):
|
|||
return datetime_from_date(self.get_meeting_date(self.days), self.tz())
|
||||
|
||||
def get_00_cutoff(self):
|
||||
start_date = datetime.datetime(year=self.date.year, month=self.date.month, day=self.date.day, tzinfo=pytz.utc)
|
||||
start_date = datetime.datetime(
|
||||
year=self.date.year,
|
||||
month=self.date.month,
|
||||
day=self.date.day,
|
||||
tzinfo=datetime.timezone.utc,
|
||||
)
|
||||
importantdate = self.importantdate_set.filter(name_id='idcutoff').first()
|
||||
if not importantdate:
|
||||
importantdate = self.importantdate_set.filter(name_id='00cutoff').first()
|
||||
|
@ -1145,7 +1150,7 @@ class Session(models.Model):
|
|||
return can_manage_materials(user,self.group)
|
||||
|
||||
def is_material_submission_cutoff(self):
|
||||
return datetime.date.today() > self.meeting.get_submission_correction_date()
|
||||
return date_today(self.meeting.tz()) > self.meeting.get_submission_correction_date()
|
||||
|
||||
def joint_with_groups_acronyms(self):
|
||||
return [group.acronym for group in self.joint_with_groups.all()]
|
||||
|
|
|
@ -20,6 +20,8 @@ from ietf.name.models import RoomResourceName
|
|||
from ietf.person.factories import PersonFactory
|
||||
from ietf.person.models import Person
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.utils.timezone import date_today
|
||||
|
||||
|
||||
def make_interim_meeting(group,date,status='sched',tz='UTC'):
|
||||
system_person = Person.objects.get(name="(System)")
|
||||
|
@ -216,8 +218,8 @@ def make_meeting_test_data(meeting=None, create_interims=False):
|
|||
mars_session.sessionpresentation_set.add(pres)
|
||||
|
||||
# Future Interim Meetings
|
||||
date = datetime.date.today() + datetime.timedelta(days=365)
|
||||
date2 = datetime.date.today() + datetime.timedelta(days=1000)
|
||||
date = date_today() + datetime.timedelta(days=365)
|
||||
date2 = date_today() + datetime.timedelta(days=1000)
|
||||
ames = Group.objects.get(acronym="ames")
|
||||
|
||||
if create_interims:
|
||||
|
@ -229,8 +231,8 @@ def make_meeting_test_data(meeting=None, create_interims=False):
|
|||
return meeting
|
||||
|
||||
def make_interim_test_data(meeting_tz='UTC'):
|
||||
date = datetime.date.today() + datetime.timedelta(days=365)
|
||||
date2 = datetime.date.today() + datetime.timedelta(days=1000)
|
||||
date = date_today() + datetime.timedelta(days=365)
|
||||
date2 = date_today() + datetime.timedelta(days=1000)
|
||||
PersonFactory(user__username='plain')
|
||||
area = GroupFactory(type_id='area')
|
||||
ad = Person.objects.get(user__username='ad')
|
||||
|
|
|
@ -2044,7 +2044,7 @@ class InterimTests(IetfSeleniumTestCase):
|
|||
|
||||
# Create a group with a plenary interim session for testing type filters
|
||||
somegroup = GroupFactory(acronym='sg', name='Some Group')
|
||||
sg_interim = make_interim_meeting(somegroup, datetime.date.today() + datetime.timedelta(days=20))
|
||||
sg_interim = make_interim_meeting(somegroup, date_today() + datetime.timedelta(days=20))
|
||||
sg_sess = sg_interim.session_set.first()
|
||||
sg_slot = sg_sess.timeslotassignments.first().timeslot
|
||||
sg_sess.purpose_id = 'plenary'
|
||||
|
|
|
@ -404,7 +404,7 @@ class MeetingTests(BaseMeetingTestCase):
|
|||
self.assertContains(r, row_id)
|
||||
|
||||
def test_agenda_iab_session(self):
|
||||
date = datetime.date.today()
|
||||
date = date_today()
|
||||
meeting = MeetingFactory(type_id='ietf', date=date )
|
||||
make_meeting_test_data(meeting=meeting)
|
||||
|
||||
|
@ -447,7 +447,7 @@ class MeetingTests(BaseMeetingTestCase):
|
|||
self.assertIn('venus', venus_row)
|
||||
|
||||
def test_agenda_current_audio(self):
|
||||
date = datetime.date.today()
|
||||
date = date_today()
|
||||
meeting = MeetingFactory(type_id='ietf', date=date )
|
||||
make_meeting_test_data(meeting=meeting)
|
||||
url = urlreverse("ietf.meeting.views.agenda", kwargs=dict(num=meeting.number))
|
||||
|
@ -1190,7 +1190,7 @@ class EditMeetingScheduleTests(TestCase):
|
|||
# Meeting must be in the future so it can be edited
|
||||
meeting = MeetingFactory(
|
||||
type_id='ietf',
|
||||
date=datetime.date.today() + datetime.timedelta(days=7),
|
||||
date=date_today() + datetime.timedelta(days=7),
|
||||
populate_schedule=False,
|
||||
)
|
||||
meeting.schedule = ScheduleFactory(meeting=meeting)
|
||||
|
@ -1845,7 +1845,7 @@ class EditMeetingScheduleTests(TestCase):
|
|||
"""Schedule editor should not crash when there are no timeslots"""
|
||||
meeting = MeetingFactory(
|
||||
type_id='ietf',
|
||||
date=datetime.date.today() + datetime.timedelta(days=7),
|
||||
date=date_today() + datetime.timedelta(days=7),
|
||||
populate_schedule=False,
|
||||
)
|
||||
meeting.schedule = ScheduleFactory(meeting=meeting)
|
||||
|
@ -2962,7 +2962,7 @@ class ReorderSlidesTests(TestCase):
|
|||
def test_add_slides_to_session(self):
|
||||
for type_id in ('ietf','interim'):
|
||||
chair_role = RoleFactory(name_id='chair')
|
||||
session = SessionFactory(group=chair_role.group, meeting__date=datetime.date.today()-datetime.timedelta(days=90), meeting__type_id=type_id)
|
||||
session = SessionFactory(group=chair_role.group, meeting__date=date_today() - datetime.timedelta(days=90), meeting__type_id=type_id)
|
||||
slides = DocumentFactory(type_id='slides')
|
||||
url = urlreverse('ietf.meeting.views.ajax_add_slides_to_session', kwargs={'session_id':session.pk, 'num':session.meeting.number})
|
||||
|
||||
|
@ -2978,7 +2978,7 @@ class ReorderSlidesTests(TestCase):
|
|||
self.assertEqual(r.status_code, 403)
|
||||
self.assertIn('materials cutoff', unicontent(r))
|
||||
|
||||
session.meeting.date = datetime.date.today()
|
||||
session.meeting.date = date_today()
|
||||
session.meeting.save()
|
||||
|
||||
# Invalid order
|
||||
|
@ -3065,7 +3065,7 @@ class ReorderSlidesTests(TestCase):
|
|||
def test_remove_slides_from_session(self):
|
||||
for type_id in ['ietf','interim']:
|
||||
chair_role = RoleFactory(name_id='chair')
|
||||
session = SessionFactory(group=chair_role.group, meeting__date=datetime.date.today()-datetime.timedelta(days=90), meeting__type_id=type_id)
|
||||
session = SessionFactory(group=chair_role.group, meeting__date=date_today()-datetime.timedelta(days=90), meeting__type_id=type_id)
|
||||
slides = DocumentFactory(type_id='slides')
|
||||
url = urlreverse('ietf.meeting.views.ajax_remove_slides_from_session', kwargs={'session_id':session.pk, 'num':session.meeting.number})
|
||||
|
||||
|
@ -3081,7 +3081,7 @@ class ReorderSlidesTests(TestCase):
|
|||
self.assertEqual(r.status_code, 403)
|
||||
self.assertIn('materials cutoff', unicontent(r))
|
||||
|
||||
session.meeting.date = datetime.date.today()
|
||||
session.meeting.date = date_today()
|
||||
session.meeting.save()
|
||||
|
||||
# Invalid order
|
||||
|
@ -3176,7 +3176,7 @@ class ReorderSlidesTests(TestCase):
|
|||
|
||||
def test_reorder_slides_in_session(self):
|
||||
chair_role = RoleFactory(name_id='chair')
|
||||
session = SessionFactory(group=chair_role.group, meeting__date=datetime.date.today()-datetime.timedelta(days=90))
|
||||
session = SessionFactory(group=chair_role.group, meeting__date=date_today() - datetime.timedelta(days=90))
|
||||
sp_list = SessionPresentationFactory.create_batch(5, document__type_id='slides', session=session)
|
||||
for num, sp in enumerate(sp_list, start=1):
|
||||
sp.order = num
|
||||
|
@ -3186,7 +3186,7 @@ class ReorderSlidesTests(TestCase):
|
|||
for type_id in ['ietf','interim']:
|
||||
|
||||
session.meeting.type_id = type_id
|
||||
session.meeting.date = datetime.date.today()-datetime.timedelta(days=90)
|
||||
session.meeting.date = date_today()-datetime.timedelta(days=90)
|
||||
session.meeting.save()
|
||||
|
||||
# Not a valid user
|
||||
|
@ -3201,7 +3201,7 @@ class ReorderSlidesTests(TestCase):
|
|||
self.assertEqual(r.status_code, 403)
|
||||
self.assertIn('materials cutoff', unicontent(r))
|
||||
|
||||
session.meeting.date = datetime.date.today()
|
||||
session.meeting.date = date_today()
|
||||
session.meeting.save()
|
||||
|
||||
# Bad index values
|
||||
|
@ -3268,7 +3268,7 @@ class ReorderSlidesTests(TestCase):
|
|||
|
||||
def test_slide_order_reconditioning(self):
|
||||
chair_role = RoleFactory(name_id='chair')
|
||||
session = SessionFactory(group=chair_role.group, meeting__date=datetime.date.today()-datetime.timedelta(days=90))
|
||||
session = SessionFactory(group=chair_role.group, meeting__date=date_today() - datetime.timedelta(days=90))
|
||||
sp_list = SessionPresentationFactory.create_batch(5, document__type_id='slides', session=session)
|
||||
for num, sp in enumerate(sp_list, start=1):
|
||||
sp.order = 2*num
|
||||
|
@ -3287,7 +3287,7 @@ class EditTests(TestCase):
|
|||
|
||||
def test_official_record_schedule_is_read_only(self):
|
||||
def _set_date_offset_and_retrieve_page(meeting, days_offset, client):
|
||||
meeting.date = datetime.date.today() + datetime.timedelta(days=days_offset)
|
||||
meeting.date = date_today() + datetime.timedelta(days=days_offset)
|
||||
meeting.save()
|
||||
client.login(username="secretary", password="secretary+password")
|
||||
url = urlreverse("ietf.meeting.views.edit_meeting_schedule", kwargs=dict(num=meeting.number))
|
||||
|
@ -4091,7 +4091,7 @@ class SessionDetailsTests(TestCase):
|
|||
def test_session_details(self):
|
||||
|
||||
group = GroupFactory.create(type_id='wg',state_id='active')
|
||||
session = SessionFactory.create(meeting__type_id='ietf',group=group, meeting__date=datetime.date.today()+datetime.timedelta(days=90))
|
||||
session = SessionFactory.create(meeting__type_id='ietf',group=group, meeting__date=date_today() + datetime.timedelta(days=90))
|
||||
SessionPresentationFactory.create(session=session,document__type_id='draft',rev=None)
|
||||
SessionPresentationFactory.create(session=session,document__type_id='minutes')
|
||||
SessionPresentationFactory.create(session=session,document__type_id='slides')
|
||||
|
@ -4116,7 +4116,7 @@ class SessionDetailsTests(TestCase):
|
|||
session = SessionFactory.create(
|
||||
meeting__type_id='ietf',
|
||||
group=group,
|
||||
meeting__date=datetime.date.today() + datetime.timedelta(days=90),
|
||||
meeting__date=date_today() + datetime.timedelta(days=90),
|
||||
)
|
||||
session_details_url = urlreverse(
|
||||
'ietf.meeting.views.session_details',
|
||||
|
@ -4168,7 +4168,7 @@ class SessionDetailsTests(TestCase):
|
|||
def test_session_details_past_interim(self):
|
||||
group = GroupFactory.create(type_id='wg',state_id='active')
|
||||
chair = RoleFactory(name_id='chair',group=group)
|
||||
session = SessionFactory.create(meeting__type_id='interim',group=group, meeting__date=datetime.date.today()-datetime.timedelta(days=90))
|
||||
session = SessionFactory.create(meeting__type_id='interim',group=group, meeting__date=date_today() - datetime.timedelta(days=90))
|
||||
SessionPresentationFactory.create(session=session,document__type_id='draft',rev=None)
|
||||
SessionPresentationFactory.create(session=session,document__type_id='minutes')
|
||||
SessionPresentationFactory.create(session=session,document__type_id='slides')
|
||||
|
@ -4187,7 +4187,7 @@ class SessionDetailsTests(TestCase):
|
|||
group = GroupFactory.create(type_id='wg',state_id='active')
|
||||
group_chair = PersonFactory.create()
|
||||
group.role_set.create(name_id='chair',person = group_chair, email = group_chair.email())
|
||||
session = SessionFactory.create(meeting__type_id='ietf',group=group, meeting__date=datetime.date.today()+datetime.timedelta(days=90))
|
||||
session = SessionFactory.create(meeting__type_id='ietf',group=group, meeting__date=date_today() + datetime.timedelta(days=90))
|
||||
SessionPresentationFactory.create(session=session,document__type_id='draft',rev=None)
|
||||
old_draft = session.sessionpresentation_set.filter(document__type='draft').first().document
|
||||
new_draft = DocumentFactory(type_id='draft')
|
||||
|
@ -4353,7 +4353,7 @@ class InterimTests(TestCase):
|
|||
def do_interim_skip_announcement_test(self, base_session=False, extra_session=False, canceled_session=False):
|
||||
make_meeting_test_data()
|
||||
group = Group.objects.get(acronym='irg')
|
||||
date = datetime.date.today() + datetime.timedelta(days=30)
|
||||
date = date_today() + datetime.timedelta(days=30)
|
||||
meeting = make_interim_meeting(group=group, date=date, status='scheda')
|
||||
session = meeting.session_set.first()
|
||||
if base_session:
|
||||
|
@ -4632,7 +4632,7 @@ class InterimTests(TestCase):
|
|||
self.do_interim_approve_by_secretariat_test(extra_session=True, canceled_session=True, base_session=True)
|
||||
|
||||
def test_past(self):
|
||||
today = datetime.date.today()
|
||||
today = date_today()
|
||||
last_week = today - datetime.timedelta(days=7)
|
||||
ietf = SessionFactory(meeting__type_id='ietf',meeting__date=last_week,group__state_id='active',group__parent=GroupFactory(state_id='active'))
|
||||
SessionFactory(meeting__type_id='interim',meeting__date=last_week,status_id='canceled',group__state_id='active',group__parent=GroupFactory(state_id='active'))
|
||||
|
@ -4651,7 +4651,7 @@ class InterimTests(TestCase):
|
|||
if querystring is not None:
|
||||
url += '?' + querystring
|
||||
|
||||
today = datetime.date.today()
|
||||
today = date_today()
|
||||
interims = dict(
|
||||
mars=add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', meeting__date__gt=today, group__acronym='mars')).filter(current_status='sched').first().meeting,
|
||||
ames=add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', meeting__date__gt=today, group__acronym='ames')).filter(current_status='canceled').first().meeting,
|
||||
|
@ -4957,7 +4957,7 @@ class InterimTests(TestCase):
|
|||
|
||||
def test_interim_request_multi_day_non_consecutive(self):
|
||||
make_meeting_test_data()
|
||||
date = datetime.date.today() + datetime.timedelta(days=30)
|
||||
date = date_today() + datetime.timedelta(days=30)
|
||||
date2 = date + datetime.timedelta(days=2)
|
||||
time = timezone.now().time().replace(microsecond=0,second=0)
|
||||
group = Group.objects.get(acronym='mars')
|
||||
|
@ -4994,7 +4994,7 @@ class InterimTests(TestCase):
|
|||
def test_interim_request_multi_day_cancel(self):
|
||||
"""All sessions of a multi-day interim request should be canceled"""
|
||||
length_before = len(outbox)
|
||||
date = datetime.date.today()+datetime.timedelta(days=15)
|
||||
date = date_today() + datetime.timedelta(days=15)
|
||||
|
||||
# Set up an interim request with several sessions
|
||||
num_sessions = 3
|
||||
|
@ -5192,7 +5192,7 @@ class InterimTests(TestCase):
|
|||
def test_interim_request_details_announcement(self):
|
||||
'''Test access to Announce / Skip Announce features'''
|
||||
make_meeting_test_data()
|
||||
date = datetime.date.today() + datetime.timedelta(days=30)
|
||||
date = date_today() + datetime.timedelta(days=30)
|
||||
group = Group.objects.get(acronym='mars')
|
||||
meeting = make_interim_meeting(group=group, date=date, status='scheda')
|
||||
url = urlreverse('ietf.meeting.views.interim_request_details',kwargs={'number':meeting.number})
|
||||
|
@ -5950,7 +5950,7 @@ class MaterialsTests(TestCase):
|
|||
def test_upload_bluesheets_interim_chair_access(self):
|
||||
make_meeting_test_data()
|
||||
mars = Group.objects.get(acronym='mars')
|
||||
session=SessionFactory(meeting__type_id='interim',group=mars, meeting__date = datetime.date.today())
|
||||
session=SessionFactory(meeting__type_id='interim',group=mars, meeting__date = date_today())
|
||||
url = urlreverse('ietf.meeting.views.upload_session_bluesheets',kwargs={'num':session.meeting.number,'session_id':session.id})
|
||||
self.client.login(username="marschairman", password="marschairman+password")
|
||||
r = self.client.get(url)
|
||||
|
@ -6193,7 +6193,7 @@ class MaterialsTests(TestCase):
|
|||
for type_id in ['ietf','interim']:
|
||||
session = SessionFactory(meeting__type_id=type_id)
|
||||
chair = RoleFactory(group=session.group,name_id='chair').person
|
||||
session.meeting.importantdate_set.create(name_id='revsub',date=datetime.date.today()+datetime.timedelta(days=20))
|
||||
session.meeting.importantdate_set.create(name_id='revsub',date=date_today() + datetime.timedelta(days=20))
|
||||
newperson = PersonFactory()
|
||||
|
||||
session_overview_url = urlreverse('ietf.meeting.views.session_details',kwargs={'num':session.meeting.number,'acronym':session.group.acronym})
|
||||
|
@ -6241,7 +6241,7 @@ class MaterialsTests(TestCase):
|
|||
|
||||
def test_disapprove_proposed_slides(self):
|
||||
submission = SlideSubmissionFactory()
|
||||
submission.session.meeting.importantdate_set.create(name_id='revsub',date=datetime.date.today()+datetime.timedelta(days=20))
|
||||
submission.session.meeting.importantdate_set.create(name_id='revsub',date=date_today() + datetime.timedelta(days=20))
|
||||
self.assertEqual(SlideSubmission.objects.filter(status__slug = 'pending').count(), 1)
|
||||
chair = RoleFactory(group=submission.session.group,name_id='chair').person
|
||||
url = urlreverse('ietf.meeting.views.approve_proposed_slides', kwargs={'slidesubmission_id':submission.pk,'num':submission.session.meeting.number})
|
||||
|
@ -6259,7 +6259,7 @@ class MaterialsTests(TestCase):
|
|||
def test_approve_proposed_slides(self):
|
||||
submission = SlideSubmissionFactory()
|
||||
session = submission.session
|
||||
session.meeting.importantdate_set.create(name_id='revsub',date=datetime.date.today()+datetime.timedelta(days=20))
|
||||
session.meeting.importantdate_set.create(name_id='revsub',date=date_today() + datetime.timedelta(days=20))
|
||||
chair = RoleFactory(group=submission.session.group,name_id='chair').person
|
||||
url = urlreverse('ietf.meeting.views.approve_proposed_slides', kwargs={'slidesubmission_id':submission.pk,'num':submission.session.meeting.number})
|
||||
login_testing_unauthorized(self, chair.user.username, url)
|
||||
|
@ -6284,7 +6284,7 @@ class MaterialsTests(TestCase):
|
|||
submission = SlideSubmissionFactory(session__meeting__type_id='ietf')
|
||||
session1 = submission.session
|
||||
session2 = SessionFactory(group=submission.session.group, meeting=submission.session.meeting)
|
||||
submission.session.meeting.importantdate_set.create(name_id='revsub',date=datetime.date.today()+datetime.timedelta(days=20))
|
||||
submission.session.meeting.importantdate_set.create(name_id='revsub',date=date_today() + datetime.timedelta(days=20))
|
||||
chair = RoleFactory(group=submission.session.group,name_id='chair').person
|
||||
url = urlreverse('ietf.meeting.views.approve_proposed_slides', kwargs={'slidesubmission_id':submission.pk,'num':submission.session.meeting.number})
|
||||
login_testing_unauthorized(self, chair.user.username, url)
|
||||
|
@ -6301,7 +6301,7 @@ class MaterialsTests(TestCase):
|
|||
submission = SlideSubmissionFactory(session__meeting__type_id='ietf')
|
||||
session1 = submission.session
|
||||
session2 = SessionFactory(group=submission.session.group, meeting=submission.session.meeting)
|
||||
submission.session.meeting.importantdate_set.create(name_id='revsub',date=datetime.date.today()+datetime.timedelta(days=20))
|
||||
submission.session.meeting.importantdate_set.create(name_id='revsub',date=date_today() + datetime.timedelta(days=20))
|
||||
chair = RoleFactory(group=submission.session.group,name_id='chair').person
|
||||
url = urlreverse('ietf.meeting.views.approve_proposed_slides', kwargs={'slidesubmission_id':submission.pk,'num':submission.session.meeting.number})
|
||||
login_testing_unauthorized(self, chair.user.username, url)
|
||||
|
@ -6315,7 +6315,7 @@ class MaterialsTests(TestCase):
|
|||
def test_submit_and_approve_multiple_versions(self):
|
||||
session = SessionFactory(meeting__type_id='ietf')
|
||||
chair = RoleFactory(group=session.group,name_id='chair').person
|
||||
session.meeting.importantdate_set.create(name_id='revsub',date=datetime.date.today()+datetime.timedelta(days=20))
|
||||
session.meeting.importantdate_set.create(name_id='revsub',date=date_today()+datetime.timedelta(days=20))
|
||||
newperson = PersonFactory()
|
||||
|
||||
propose_url = urlreverse('ietf.meeting.views.propose_session_slides', kwargs={'session_id':session.pk, 'num': session.meeting.number})
|
||||
|
@ -6661,8 +6661,8 @@ class HasMeetingsTests(TestCase):
|
|||
self.assertEqual(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
self.assertTrue(q('#id_group option[value="%d"]'%group.pk))
|
||||
date = datetime.date.today() + datetime.timedelta(days=30+meeting_count)
|
||||
time = timezone.now().time().replace(microsecond=0,second=0)
|
||||
date = date_today() + datetime.timedelta(days=30+meeting_count)
|
||||
time = time_now().replace(microsecond=0,second=0)
|
||||
remote_instructions = 'Use webex'
|
||||
agenda = 'Intro. Slides. Discuss.'
|
||||
agenda_note = 'On second level'
|
||||
|
|
|
@ -28,6 +28,7 @@ from ietf.person.models import Person
|
|||
from ietf.secr.proceedings.proc_utils import import_audio_files
|
||||
from ietf.utils.html import sanitize_document
|
||||
from ietf.utils.log import log
|
||||
from ietf.utils.timezone import date_today
|
||||
|
||||
|
||||
def session_time_for_sorting(session, use_meeting_date):
|
||||
|
@ -70,12 +71,12 @@ def group_sessions(sessions):
|
|||
|
||||
sessions = sorted(sessions,key=lambda s:s.time)
|
||||
|
||||
today = datetime.date.today()
|
||||
future = []
|
||||
in_progress = []
|
||||
recent = []
|
||||
past = []
|
||||
for s in sessions:
|
||||
today = date_today(s.meeting.tz())
|
||||
if s.meeting.date > today:
|
||||
future.append(s)
|
||||
elif s.meeting.end_date() >= today:
|
||||
|
@ -107,7 +108,7 @@ def get_upcoming_manageable_sessions(user):
|
|||
# .filter(date__gte=today - F('days')), but unfortunately, it
|
||||
# doesn't work correctly with Django 1.11 and MySQL/SQLite
|
||||
|
||||
today = datetime.date.today()
|
||||
today = date_today()
|
||||
|
||||
candidate_sessions = add_event_info_to_session_qs(
|
||||
Session.objects.filter(meeting__date__gte=today - datetime.timedelta(days=15))
|
||||
|
|
|
@ -15,10 +15,13 @@ from ietf.message.utils import send_scheduled_message_from_send_queue
|
|||
from ietf.person.models import Person
|
||||
from ietf.utils.mail import outbox, send_mail_text, send_mail_message, get_payload_text
|
||||
from ietf.utils.test_utils import TestCase
|
||||
from ietf.utils.timezone import date_today
|
||||
|
||||
|
||||
|
||||
class MessageTests(TestCase):
|
||||
def test_message_view(self):
|
||||
nomcom = GroupFactory(name="nomcom%s" % datetime.date.today().year, type_id="nomcom")
|
||||
nomcom = GroupFactory(name="nomcom%s" % date_today().year, type_id="nomcom")
|
||||
msg = Message.objects.create(
|
||||
by=Person.objects.get(name="(System)"),
|
||||
subject="This is a test",
|
||||
|
|
Loading…
Reference in a new issue