Exemplo n.º 1
0
def prepare_calfeed(member):
    # we want the gigs as far back as a year ago
    date_earliest = timezone.now() - timedelta(days=365)

    filter_args = {
        "assoc__member_id": member.id,
        "gig__date__gt": date_earliest,
    }

    if member.preferences.calendar_show_only_confirmed:
        filter_args["gig__status"] = GigStatusChoices.CONFIRMED

    if member.preferences.calendar_show_only_committed:
        filter_args["status__in"] = [
            PlanStatusChoices.DEFINITELY, PlanStatusChoices.PROBABLY
        ]

    the_plans = Plan.objects.filter(**filter_args)

    if member.preferences.hide_canceled_gigs:
        the_plans = the_plans.exclude(gig__status=GigStatusChoices.CANCELLED)

    the_gigs = [p.gig for p in the_plans]
    cf = make_calfeed(member, the_gigs, member.preferences.language,
                      member.cal_feed_id)
    return cf
Exemplo n.º 2
0
 def test_calfeed_translation(self):
     self.testgig.details = 'test details'
     self.testgig.setlist = 'test set'
     self.testgig.save()
     cf = make_calfeed(b'flim-flam', self.band.gigs.all(), 'de',
                       self.joeuser.cal_feed_id)
     self.assertIn(b'SUMMARY:test band:New Gig (Unbekannt)\r\n', cf)
Exemplo n.º 3
0
 def test_calfeed_setlist(self):
     self.testgig.setlist = 'test set'
     self.testgig.save()
     cf = make_calfeed(b'flim-flam', self.band.gigs.all(),
                       self.joeuser.preferences.language,
                       self.joeuser.cal_feed_id)
     self.assertIn(b'DESCRIPTION:test set\r\n', cf)
Exemplo n.º 4
0
 def test_calfeed_description(self):
     self.testgig.details = 'test desc'
     self.testgig.save()
     cf = make_calfeed(b'flim-flam', self.band.gigs.all(),
                       self.joeuser.preferences.language,
                       self.joeuser.cal_feed_id)
     self.assertIn(b'DESCRIPTION:test desc\r\n', cf)
Exemplo n.º 5
0
 def test_calfeed_event_no_enddate(self):
     cf = make_calfeed(b'flim-flam', self.band.gigs.all(),
                       self.joeuser.preferences.language,
                       self.joeuser.cal_feed_id)
     self.assertTrue(
         cf.find(b'DTSTART;VALUE=DATE-TIME:20200229T143000Z') > 0)
     # with no end date set, caldeef should show an end date of an hour after start
     self.assertTrue(cf.find(b'DTEND;VALUE=DATE-TIME:20200229T153000Z') > 0)
Exemplo n.º 6
0
 def test_calfeed_summary(self):
     self.testgig.details = 'test details'
     self.testgig.setlist = 'test set'
     self.testgig.save()
     cf = make_calfeed(b'flim-flam', self.band.gigs.all(),
                       self.joeuser.preferences.language,
                       self.joeuser.cal_feed_id)
     self.assertIn(b'SUMMARY:test band:New Gig (Unknown)\r\n', cf)
Exemplo n.º 7
0
 def test_calfeed_event_enddate(self):
     # set the end date and make sure the calfeed is updated
     self.testgig.enddate = self.testgig.date + timedelta(hours=2)
     self.testgig.save()
     cf = make_calfeed(b'flim-flam', self.band.gigs.all(),
                       self.joeuser.preferences.language,
                       self.joeuser.cal_feed_id)
     self.assertTrue(
         cf.find(b'DTSTART;VALUE=DATE-TIME:20200229T143000Z') > 0)
     self.assertTrue(cf.find(b'DTEND;VALUE=DATE-TIME:20200229T163000Z') > 0)
Exemplo n.º 8
0
def prepare_band_calfeed(band):
    # we want the gigs as far back as a year ago
    date_earliest = timezone.now() - timedelta(days=365)

    filter_args = {
        "band": band,
        "hide_from_calendar": False,
        "date__gt": date_earliest,
        "status": GigStatusChoices.CONFIRMED,
    }

    the_gigs = Gig.objects.filter(**filter_args)
    cf = make_calfeed(band, the_gigs, band.default_language,
                      band.pub_cal_feed_id)
    return cf
Exemplo n.º 9
0
 def test_calfeed_event(self):
     cf = make_calfeed(b'flim-flam', self.band.gigs.all(),
                       self.joeuser.preferences.language,
                       self.joeuser.cal_feed_id)
     self.assertTrue(cf.find(b'EVENT') > 0)
Exemplo n.º 10
0
 def test_calfeed(self):
     cf = make_calfeed('flim-flam', [], self.joeuser.preferences.language,
                       self.joeuser.cal_feed_id)
     self.assertTrue(cf.startswith(b'BEGIN:VCALENDAR'))
     self.assertTrue(cf.find(b'flim-flam') > 0)
     self.assertTrue(cf.endswith(b'END:VCALENDAR\r\n'))