def create_event_with_details(event): """ Creates and returns event with passed name and dates """ e1 = Event(name=event[0], start_date=event[1], end_date=event[2]) e1.save() return e1
def EventManageAddView(request, username=''): user = User.objects.get(username=username) form = EventForm(request.POST or None) if form.is_valid(): thisDate = form.cleaned_data['date'] thisStarttime = form.cleaned_data['starttime'] thisEndtime = form.cleaned_data['endtime'] thisEvent = form.cleaned_data['event'] thisLocation = form.cleaned_data['location'] thisOrganization = form.cleaned_data['organization'] thisSpeakers = form.cleaned_data['speakers'] thisRating = form.cleaned_data['rating'] thisFeedback = form.cleaned_data['feedback'] thisUser = User.objects.get(username=username) event = Event(user=thisUser, date=thisDate, starttime=thisStarttime, endtime=thisEndtime, event=thisEvent, location=thisLocation, organization=thisOrganization, speakers=thisSpeakers, rating=thisRating, feedback=thisFeedback) event.save() return HttpResponseRedirect(URL_DASHBOARD(user.username)) return HttpResponseRedirect(URL_DASHBOARD(username))
def test_is_started(self): now = timezone.now() event = Event(title="Test", description="Test Event", start_time=now - timedelta(hours=1), end_time=now + timedelta(hours=1)) self.assertTrue(event.is_started())
def test_get_shift_slots_remaining(self): """ Test get_shift_slots_remaining(s_id) """ e1 = Event(name="Open Source Event", start_date="2012-10-22", end_date="2012-10-23") e1.save() j1 = Job( name="Software Developer", start_date="2012-10-22", end_date="2012-10-23", description="A software job", event=e1, ) j1.save() s1 = Shift(date="2012-12-10", start_time="9:00", end_time="3:00", max_volunteers=1, job=j1) s2 = Shift(date="2012-6-25", start_time="10:00", end_time="4:00", max_volunteers=2, job=j1) s3 = Shift(date="2012-1-9", start_time="12:00", end_time="6:00", max_volunteers=4, job=j1) s1.save() s2.save() s3.save() self.assertIsNotNone(get_shift_slots_remaining(s1.id)) self.assertIsNotNone(get_shift_slots_remaining(s2.id)) self.assertIsNotNone(get_shift_slots_remaining(s3.id))
def add_event(request): if not users.is_current_user_admin(): return HttpResponseRedirect('/') if request.method == 'POST': is_public = request.POST['is_public'] =='1' event = Event( title=request.POST['title'], desc=request.POST['desc'], publish_date=today(), is_public=is_public) event.put() return HttpResponseRedirect( '../event/?event=%s' % str(event.key()) ) #except: # return...error else: c = Context({ 'logouturl':LOGOUT, 'loginurl':LOGIN, 'cur_user':CURUSER, 'is_admin':users.is_current_user_admin(), 'is_admin':True, 'event':Event(), }) return render_to_response( 'newevent.htm',c )
def form(request): if request.method == "POST": name = request.POST.get('name') desc = request.POST.get('desc') location = request.POST.get('loc') poster = request.POST.get('poster') start_date = request.POST.get('start_date') start_time = request.POST.get('start_time') end_date = request.POST.get('end_date') end_time = request.POST.get('end_time') last_date = request.POST.get('last_date') last_time = request.POST.get('last_time') email = request.POST.get('email') pswd = request.POST.get('pswd') thisPage = request.POST.get('this_page') obj = datetime.datetime.now() if not Event.objects.filter(email__exact=email,name__exact=name, start_date__exact=start_date,end_date__exact=end_date, start_time__exact=start_time, end_time__exact=end_time, location__exact=location): data = Event(name=name, desc=desc, poster=poster, location=location, start_date=start_date, start_time=start_time, end_date=end_date, end_time=end_time, last_date=last_date, last_time=last_time, email=email, pswd=pswd) data.save() # For sending mail subject = "Event Registration successful" message = "".join(["Dear organizer,\nYour event have been registerd successfully.\n\nEvent details :\nEvent id : ", str(data.id), "\nEvent Name : ", str(data.name), "\n\nThank you for using our app."]) send_mail(subject,message,"",[data.email], fail_silently=False) messages.success(request, 'Registration succesfull.') else : messages.error(request, "Event with same date, time and Location is already registered using your Email ID!!") return redirect(thisPage) return render(request, "event_form.html")
def test_references_coherence(self): """ Check the pending_event and the event_action always refers to the same event. """ e2 = Event( name="Event 2", slug="event_2", category=self.c, text="Event 2", ) e2.save() pe = PendingEvent( event=e2, kingdom=self.k, ) pe.save() pea = PendingEventAction( pending_event=pe, event_action=self.a, ) self.assertRaises(IntegrityError, pea.save)
def events(request): if request.method == 'GET': now = timezone.now() events = serializers.serialize( "json", Event.objects.all().filter(time__gte=now).order_by('time')) return JsonResponse(events, safe=False) elif request.method == 'POST': post_data = [('secret', '6LdD_AwUAAAAAJmyELZPK2Ijmy7jGYmTCUIlIItf'), ('response', request.POST['g-recaptcha-response']), ('remoteip', request.META['REMOTE_ADDR'])] result = urllib.request.urlopen( 'https://www.google.com/recaptcha/api/siteverify', bytearray(urllib.parse.urlencode(post_data), 'utf-8')) result = result.read().decode('utf-8') result = json.loads(result) if result['success'] == True: newEvent = Event( title=request.POST['title'], description=request.POST['description'], time=request.POST['time'], ip=request.META['REMOTE_ADDR'], ) newEvent.save() return HttpResponseRedirect('/')
def _create_events(self): prefec_list = list(self.prefectures) #ポイント稼ぎ用ボランティア random.seed(1) for i in range(1, 21): for j in range(1, 4): name = "【第%d回】" % j + eventname_sample[i]["name"] host_user = User.objects.get(username="******" % i) past_or_future = 1 if i < 10 else -1 demoevent = Event( name=name, start_time=timezone.now() + timezone.timedelta(days=301) * past_or_future, end_time=timezone.now() + timezone.timedelta(days=302) * past_or_future, meeting_place="池袋駅東口母子像前", contact="*****@*****.**", details=eventdetail_sample, host_user=host_user, region=prefec_list[i % 47], longitude=139.7191 + 0.01 * random.uniform(-2.0, 2.0), latitude=35.7291 + 0.01 * random.uniform(-2.0, 2.0)) demoevent.save() demoevent.admin = User.objects.filter(pk=i)
def post(self, request): post_data = json.loads(request.body.decode('utf-8')) username = post_data.get('username') token = post_data.get('token') user = User.objects.filter(username=username, token=token).all() if len(user): image = post_data.get('image') des = post_data.get('description') start_date = post_data.get('start_dttime') end_date = post_data.get('end_dttime') is_private = post_data.get('is_private') location = post_data.get('location') capacity = post_data.get('capacity') title = post_data.get('title') event = Event(host_id=user[0], image=image, description=des, start_dttime=start_date, end_dttime=end_date, is_private=is_private, location=location, capacity=capacity, title=title) event.save() return JsonResponse({ "code": 200, "status": "Successfull !!", "userData": "successfully created event" }) return JsonResponse({ "code": 201, "status": "UnSuccessfull !!", "userData": "wrong credentials" })
def _create_events(self): prefec_list = list(self.prefectures) #ポイント稼ぎ用ボランティア random.seed(1) for i in range(1,21): for j in range(1,4): name = "【第%d回】"%j + eventname_sample[i]["name"] host_user = User.objects.get(username="******"%i) past_or_future = 1 if i < 10 else -1 demoevent = Event( name=name, start_time=timezone.now() + timezone.timedelta(days=301) * past_or_future, end_time = timezone.now() + timezone.timedelta(days=302) * past_or_future, meeting_place="池袋駅東口母子像前", contact="*****@*****.**", details=eventdetail_sample, host_user=host_user, region=prefec_list[i%47], longitude=139.7191 + 0.01 * random.uniform(-2.0,2.0), latitude=35.7291 + 0.01 * random.uniform(-2.0,2.0) ) demoevent.save() demoevent.admin = User.objects.filter(pk=i)
def test_get_event_by_shift_id(self): e1 = Event( name="Open Source Event", start_date="2012-10-22", end_date="2012-10-23" ) e1.save() j1 = Job( name="Software Developer", start_date="2012-10-22", end_date="2012-10-23", description="A software job", event=e1 ) j2 = Job( name="Systems Administrator", start_date="2012-9-1", end_date="2012-10-26", description="A systems administrator job", event=e1 ) j1.save() j2.save() s1 = Shift( date="2012-10-23", start_time="9:00", end_time="3:00", max_volunteers=1, job=j1 ) s2 = Shift( date="2012-10-23", start_time="10:00", end_time="4:00", max_volunteers=2, job=j1 ) s3 = Shift( date="2012-10-23", start_time="12:00", end_time="6:00", max_volunteers=4, job=j2 ) s1.save() s2.save() s3.save() self.assertIsNotNone(get_event_by_shift_id(s1.id)) self.assertIsNotNone(get_event_by_shift_id(s2.id)) self.assertIsNotNone(get_event_by_shift_id(s3.id))
def test_without_slug(self): event = Event( title="Test", description="Test Event", start_time=timezone.now(), end_time=timezone.now(), ) event.save() self.assertEqual(event.slug, "test")
def test_event_not_empty(self): """ Test event_not_empty(event_id) """ e1 = Event( name="Open Source Event", start_date="2012-10-22", end_date="2012-10-23" ) e2 = Event( name="Python Event", start_date="2013-11-12", end_date="2013-11-13" ) e3 = Event( name="Django Event", start_date="2015-07-07", end_date="2015-07-08" ) e1.save() e2.save() e3.save() self.assertTrue(event_not_empty(e1.id)) self.assertTrue(event_not_empty(e2.id)) self.assertTrue(event_not_empty(e3.id)) self.assertFalse(event_not_empty(100)) self.assertFalse(event_not_empty(200)) self.assertFalse(event_not_empty(300))
class ScriptTest(TestCase): """ Unit tests for event app """ def setUp(self): self.k = Kingdom() self.k.save() self.c = EventCategory( frequency=1, timeout=1, ) self.c.save() self.e = Event( name="Event 1", slug="event_1", category=self.c, text="Event 1", on_fire="" ) self.e.save() self.a = EventAction( event=self.e, text="some text", on_fire="", ) self.a.save() def test_kingdom_create_pending_event(self): """ Check the pending event is created and not started """ pe = self.k.create_pending_event("event_1") self.assertIsNone(pe.started) self.assertEqual(pe.event_id, self.e.pk) self.assertEqual(self.k.pendingevent_set.count(), 1) def test_kingdom_start_pending_event(self): """ Check the pending event is created and started """ pe = self.k.start_pending_event("event_1") self.assertIsNotNone(pe.started) self.assertEqual(pe.event_id, self.e.pk) self.assertEqual(self.k.pendingevent_set.count(), 1)
def test_get_job_by_id(self): e1 = Event(name = "Software Conference", start_date = "2012-10-22", end_date = "2012-10-25") e1.save() j1 = Job(name = "Software Developer", start_date = "2012-10-22", end_date = "2012-10-23", description = "A software job", event = e1) j2 = Job(name = "Systems Administrator", start_date = "2012-9-1", end_date = "2012-10-26", description = "A systems administrator job", event = e1) j3 = Job(name = "Project Manager", start_date = "2012-1-2", end_date = "2012-2-2", description = "A management job", event = e1) j1.save() j2.save() j3.save() #test typical cases self.assertIsNotNone(get_job_by_id(j1.id)) self.assertIsNotNone(get_job_by_id(j2.id)) self.assertIsNotNone(get_job_by_id(j3.id)) self.assertEqual(get_job_by_id(j1.id), j1) self.assertEqual(get_job_by_id(j2.id), j2) self.assertEqual(get_job_by_id(j3.id), j3) #test non-existant cases self.assertIsNone(get_job_by_id(100)) self.assertIsNone(get_job_by_id(200)) self.assertIsNone(get_job_by_id(300)) self.assertIsNone(get_job_by_id(400)) self.assertNotEqual(get_job_by_id(100), j1) self.assertNotEqual(get_job_by_id(100), j2) self.assertNotEqual(get_job_by_id(100), j3) self.assertNotEqual(get_job_by_id(200), j1) self.assertNotEqual(get_job_by_id(200), j2) self.assertNotEqual(get_job_by_id(200), j3) self.assertNotEqual(get_job_by_id(300), j1) self.assertNotEqual(get_job_by_id(300), j2) self.assertNotEqual(get_job_by_id(300), j3)
def post_event(request): if request.method == 'POST': form = EventForm(request.POST) if form.is_valid(): e = Event(title = form.cleaned_data['title'], date = form.cleaned_data['date'], location = form.cleaned_data['location'], description = form.cleaned_data['description']) e.save() return HttpResponseRedirect('/events/')
def test_get_shifts_with_open_slots(self): """ Test get_shifts_with_open_slots(j_id) """ u1 = User.objects.create_user("Yoshi") v1 = Volunteer( first_name="Yoshi", last_name="Turtle", address="Mario Land", city="Nintendo Land", state="Nintendo State", country="Nintendo Nation", phone_number="2374983247", email="*****@*****.**", user=u1, ) v1.save() e1 = Event(name="Open Source Event", start_date="2012-10-22", end_date="2012-10-23") e1.save() j1 = Job( name="Software Developer", start_date="2012-10-22", end_date="2012-10-23", description="A software job", event=e1, ) j2 = Job( name="Systems Administrator", start_date="2012-9-1", end_date="2012-10-26", description="A systems administrator job", event=e1, ) j1.save() j2.save() s1 = Shift(date="2012-10-23", start_time="9:00", end_time="3:00", max_volunteers=1, job=j1) s2 = Shift(date="2012-10-23", start_time="10:00", end_time="4:00", max_volunteers=2, job=j1) s3 = Shift(date="2012-10-23", start_time="12:00", end_time="6:00", max_volunteers=4, job=j2) s1.save() s2.save() s3.save() self.assertIsNotNone(get_shifts_with_open_slots(j1.id)) self.assertIsNotNone(get_shifts_with_open_slots(j2.id))
def create_event_with_details(event): """ Creates and returns event with passed name and dates """ e1 = Event(name=event['name'], start_date=event['start_date'], end_date=event['end_date'], description=event['description'], address=event['address'], venue=event['venue']) e1.save() return e1
def add_event(request): if request.method == 'POST': e = Event( evt_name=request.POST['name'], evt_place=request.POST['place'], evt_start_time=request.POST['start_time'], evt_end_time=request.POST['end_time'], evt_date=request.POST['date'], evt_note=request.POST['note'], owner=request.user) e.save() return HttpResponseRedirect('/') return render_to_response('add_event.html', context_instance=RequestContext(request))
def get_shifts_ordered_by_date(self): e1 = Event(name="Open Source Event", start_date="2012-10-22", end_date="2012-10-23") e1.save() j1 = Job(name="Software Developer", start_date="2012-10-22", end_date="2012-10-23", description="A software job", event=e1) j1.save() s1 = Shift(date="2012-1-10", start_time="9:00", end_time="3:00", max_volunteers=1, job=j1) s2 = Shift(date="2012-6-25", start_time="10:00", end_time="4:00", max_volunteers=2, job=j1) s3 = Shift(date="2012-12-9", start_time="12:00", end_time="6:00", max_volunteers=4, job=j1) s1.save() s2.save() s3.save() #test typical case shift_list = get_shifts_ordered_by_date(j1.id) self.assertIsNotNone(shift_list) self.assertNotEqual(shift_list, False) self.assertEqual(len(shift_list), 3) self.assertIn(s1, shift_list) self.assertIn(s2, shift_list) self.assertIn(s3, shift_list) #test order self.assertEqual(shift_list[0].date, s1.date) self.assertEqual(shift_list[1].date, s2.date) self.assertEqual(shift_list[2].date, s3.date)
def test_get_jobs_ordered_by_title(self): e1 = Event( name="Software Conference", start_date="2012-10-22", end_date="2012-10-25" ) e1.save() j1 = Job( name="Software Developer", start_date="2012-10-22", end_date="2012-10-23", description="A software job", event=e1 ) j2 = Job( name="Systems Administrator", start_date="2012-9-1", end_date="2012-10-26", description="A systems administrator job", event=e1 ) j3 = Job( name="Project Manager", start_date="2012-1-2", end_date="2012-2-2", description="A management job", event=e1 ) j1.save() j2.save() j3.save() # test typical case job_list = get_jobs_ordered_by_title() self.assertIsNotNone(job_list) self.assertNotEqual(job_list, False) self.assertEqual(len(job_list), 3) self.assertIn(j1, job_list) self.assertIn(j2, job_list) self.assertIn(j3, job_list) # test order self.assertEqual(job_list[0].name, j3.name) self.assertEqual(job_list[1].name, j1.name) self.assertEqual(job_list[2].name, j2.name)
def get_shifts_ordered_by_date(self): e1 = Event(name = "Open Source Event", start_date = "2012-10-22", end_date = "2012-10-23") e1.save() j1 = Job(name = "Software Developer", start_date = "2012-10-22", end_date = "2012-10-23", description = "A software job", event = e1) j1.save() s1 = Shift(date = "2012-1-10", start_time = "9:00", end_time = "3:00", max_volunteers = 1, job = j1) s2 = Shift(date = "2012-6-25", start_time = "10:00", end_time = "4:00", max_volunteers = 2, job = j1) s3 = Shift(date = "2012-12-9", start_time = "12:00", end_time = "6:00", max_volunteers = 4, job = j1) s1.save() s2.save() s3.save() #test typical case shift_list = get_shifts_ordered_by_date(j1.id) self.assertIsNotNone(shift_list) self.assertNotEqual(shift_list, False) self.assertEqual(len(shift_list), 3) self.assertIn(s1, shift_list) self.assertIn(s2, shift_list) self.assertIn(s3, shift_list) #test order self.assertEqual(shift_list[0].date, s1.date) self.assertEqual(shift_list[1].date, s2.date) self.assertEqual(shift_list[2].date, s3.date)
def save(self): id_ = self.cleaned_data.get('id') title = self.cleaned_data.get('title') description = self.cleaned_data.get('description') category = self.cleaned_data.get('category') event_time = self.cleaned_data.get('event_time') event_place = self.cleaned_data.get('event_place') cancelled = self.cleaned_data.get('cancelled') event_image = self.cleaned_data.get('event_image') designation = self.cleaned_data.get('designation') notify_users = self.cleaned_data.get('notify_users') if id_ is not None and id_ != -1: created = False event = Event.objects.get(pk=id_) event.title = title event.description = description event.category = category event.event_time = event_time event.event_place = event_place event.cancelled = cancelled event.posted_by_id = designation else: created = True event = Event(title=title, description=description, category=category, event_time=event_time, event_place=event_place, cancelled=cancelled, posted_by_id=designation) notify_users = True event.save() if event_image is not None and event_image.image is not None: ''' updating old image to just support single image for now. Should be changed in future to support multiple images here and at UI side ''' try: eventImage = EventImage.objects.get(event=event) eventImage.image = event_image except EventImage.DoesNotExist: eventImage = EventImage( event=event, image=event_image ) eventImage.save() if notify_users: event.refresh_from_db() event_signals.event_done.send(Event, instance=event, created=created) return event
def add_event(request, pk): club = Club.objects.get(pk=pk) if request.POST: event = Event(club=club) form = EventForm(request.POST,instance=event ) if form.is_valid(): event = form.save() event.save() return render_to_response('event/successful_post.html', context_instance = RequestContext(request)) else: form = EventForm() return render_to_response('club/add_event.html', {'form':form}, context_instance = RequestContext(request))
def test_get_shift_by_id(self): e1 = Event(name="Open Source Event", start_date="2012-10-22", end_date="2012-10-23") e1.save() j1 = Job( name="Software Developer", start_date="2012-10-22", end_date="2012-10-23", description="A software job", event=e1, ) j1.save() s1 = Shift(date="2012-10-23", start_time="9:00", end_time="3:00", max_volunteers=1, job=j1) s2 = Shift(date="2012-10-23", start_time="10:00", end_time="4:00", max_volunteers=2, job=j1) s3 = Shift(date="2012-10-23", start_time="12:00", end_time="6:00", max_volunteers=4, job=j1) s1.save() s2.save() s3.save() # test typical cases self.assertIsNotNone(get_shift_by_id(s1.id)) self.assertIsNotNone(get_shift_by_id(s2.id)) self.assertIsNotNone(get_shift_by_id(s3.id)) self.assertEqual(get_shift_by_id(s1.id), s1) self.assertEqual(get_shift_by_id(s2.id), s2) self.assertEqual(get_shift_by_id(s3.id), s3) # test non-existant cases self.assertIsNone(get_shift_by_id(100)) self.assertIsNone(get_shift_by_id(200)) self.assertIsNone(get_shift_by_id(300)) self.assertIsNone(get_shift_by_id(400)) self.assertNotEqual(get_shift_by_id(100), s1) self.assertNotEqual(get_shift_by_id(100), s2) self.assertNotEqual(get_shift_by_id(100), s3) self.assertNotEqual(get_shift_by_id(200), s1) self.assertNotEqual(get_shift_by_id(200), s2) self.assertNotEqual(get_shift_by_id(200), s3) self.assertNotEqual(get_shift_by_id(300), s1) self.assertNotEqual(get_shift_by_id(300), s2) self.assertNotEqual(get_shift_by_id(300), s3)
class DependenciesCommandTest(TestCase): """ Test dependencies commands """ def setUp(self): self.k = Kingdom() self.e = Event( name="Event", slug="first_event") self.e.save() self.ea = self.e.eventaction_set.create( on_fire=""" kingdom.next_event("second_event") """) self.ea.save() self.m = Mission( name="Mission", slug="mission", on_resolution=""" kingdom.create_pending_event("second_event") """) self.m.save() def test_dependencies(self): content = StringIO() management.call_command('dependencies', dry=True, interactive=False, stdout=content) content.seek(0) out = content.read() # Check node list self.assertTrue('event_first_event [' in out) self.assertTrue('mission_mission [' in out) self.assertTrue('event_first_event -> event_second_event' in out) self.assertTrue('mission_mission -> event_second_event' in out) def test_dependencies_restrict_object(self): content = StringIO() management.call_command('dependencies', 'mission_mission', dry=True, interactive=False, stdout=content) content.seek(0) out = content.read() # Check node list does not include "event" model. self.assertFalse('event_first_event [' in out) self.assertTrue('mission_mission [' in out)
def post(self, request): user = request.user event_name = request.data.get('name') category = request.data.get('category') food_types = [] for food_type, food_type_boolean in request.data.items(): if food_type_boolean == 'on': food_types.append(food_type) string_event_date = request.data.get('event_date') if ((event_name in [[], '', None]) or (category in [[], '', None]) or (string_event_date in ['', None]) or (food_types == [])): return Response({'failue': 'some of the inputs are empty'}, status=status.HTTP_400_BAD_REQUEST) try: event_date = datetime.strptime(string_event_date, "%Y-%m-%d").date() except ValueError: return Response({'failue': 'event date is not well formated'}, status=status.HTTP_400_BAD_REQUEST) if event_date < date.today(): return Response({'failue': 'event date is for the past'}, status=status.HTTP_400_BAD_REQUEST) if Event.objects.filter(name=event_name, event_date=event_date).exists(): return Response({'failue': 'event is already created'}, status=status.HTTP_400_BAD_REQUEST) #use cache for object fetching foods = Food.objects.all() food_types_list = foods.values_list('food_type', flat=True) for food_type in food_types: if food_type not in food_types_list: return Response( {'failue': f"food id {food_type} is not correct"}, status=status.HTTP_400_BAD_REQUEST) event_name_url = '%20'.join(event_name.split(' ')) url = settings.ROOT_URL + f"/events/item/{string_event_date}/{event_name_url}" event = Event(name=event_name, category=category, url=url, event_date=event_date, organizer=user.userprofile) event.save() for food_type in food_types: event.food_types.add(foods.get(food_type=food_type)) return redirect('/events/')
def get_last_new_repertory(cls): event = Event.get_last_new_event() if event: try: return cls.objects.filter(event=event).order_by('-id')[0] except IndexError: return
def test_account_should_be_informed_about_tag_in_region_he_interested_in(self): """ User should be informed about event that appeared in region that he is interested in """ user = User.objects.create_user(username='******', email="*****@*****.**", password="******") account = Account( user=user, all_of_canada=False, regions=[Region.objects.filter(name="Alberta"), Region.objects.filter(name="Saskatchewan")], tags=["boo"] ) venue = Venue( name="Test venue", city=City.objects.filter(name="Saskatoon"), country=Country.objects.filter(name="Canada") ) event = Event( name="Test event", venue=venue, tags=["boo"] ) self.assertIn( event, InTheLoopSchedule.unprocessed_for_account(account) )
def add_event(request, pk): club = Club.objects.get(pk=pk) if request.POST: event = Event(club=club) form = EventForm(request.POST, instance=event) if form.is_valid(): event = form.save() event.save() return render_to_response('event/successful_post.html', context_instance=RequestContext(request)) else: form = EventForm() return render_to_response('club/add_event.html', {'form': form}, context_instance=RequestContext(request))
def remind_account_about_events_with_email(account, single_events): if account.reminder_email: featured_events = Event.featured_events_for_region(account.native_region)[0:4] similar_events = find_similar_events( Event.future_events.filter(id__in=single_events.values_list("event_id", flat=True)) ) subject = "Upcoming events from cityfusion" message = render_to_string('accounts/emails/reminder_email.html', { "featured_events": featured_events, "events": single_events, "similar_events": similar_events, "STATIC_URL": "/static/", "advertising_region": account.advertising_region, "site": "http://%s" % Site.objects.get_current().domain }) try: msg = EmailMessage(subject, message, "*****@*****.**", [account.reminder_email]) msg.content_subtype = 'html' msg.send() except: logger.error("Invalid email %s" % account.reminder_email) return message else: return ""
def process(self, account): components = self.cleaned_data['time'].split(':') day = int(components[0]) hour = int(components[1]) minute = int(components[2]) now = datetime.datetime.now() start_date = datetime.datetime(now.year, now.month, day, hour, minute) event = Event( name=self.cleaned_data['name'], start_date=start_date, location=self.cleaned_data['location'], host=account ) event.save()
def edit_sub_event( request ): if not users.is_current_user_admin(): return HttpResponseRedirect('/') try: sekey = Key(request.POST['key']) se = Subevent.get(sekey) se.content = request.POST['content'] pekey = memcache.get('event') pe = Event.get(pekey) # treat date from str to datetime type start_date = request.POST['start_date'] li = start_date.split('-') se.start_date = datetime.date( int(li[0]),int(li[1]),int(li[2])) end_date = request.POST['end_date'] li = end_date.split('-') se.end_date = datetime.date( int(li[0]),int(li[1]),int(li[2])) # adjust the parent event's start_date and end_date if se.start_date < pe.start_date: pe.start_date = se.start_date if se.end_date > pe.end_date: pe.end_date = se.end_date pe.put() except: return HttpResponse('error') if se.end_date < today(): se.isexpired = True else: se.isexpired = False se.put() return HttpResponse( se.isexpired )
def done_sub_event(request): if not users.is_current_user_admin(): return HttpResponseRedirect('/') try: sekey = Key(request.POST['key']) pekey = memcache.get('event') is_done = request.POST['is_done'] except: return HttpResponse('error') # update event,sub_event,history info se = Subevent.get(sekey) pe = Event.get(pekey) if is_done == 'true': se.is_done = True se.end_date = today() hi = History() hi.event = pe hi.content = "acomplished:"+se.content hi.put() #adjust parent event's progress pe.progress = pe.progress+100/pe.num_se if pe.progress == 100: pe.is_done = True else: se.is_done = False if pe.progress == 100: pe.is_done = False pe.progress = pe.progress-100/pe.num_se pe.put() se.put() return HttpResponse( se.key() )
def remind_account_about_deleted_events_with_email(account, single_events): if account.reminder_email: featured_events = Event.featured_events_for_region(account.native_region)[:4] subject = 'Deleted events from cityfusion' message = render_to_string('accounts/emails/reminder_deleted_event_email.html', { "featured_events": featured_events, "events": single_events, "STATIC_URL": "/static/", "advertising_region": account.advertising_region, "site": "http://%s" % Site.objects.get_current().domain }) try: msg = EmailMessage(subject, message, "*****@*****.**", [account.reminder_email]) msg.content_subtype = 'html' msg.send() except: logger.error("Invalid email %s" % account.reminder_email) return message else: return ""
def sell(): form = SellForm() if form.validate_on_submit(): #Save image to static/images app.config['UPLOAD_FOLDER'] = 'static/images' file = request.files.get('imgpath') extension = os.path.splitext(file.filename)[1] f_name = str(uuid.uuid4()) + extension #encoding the image name + adding extension like jpg, png etc. file.save(os.path.join(app.config['UPLOAD_FOLDER'], f_name)) #saving the image to static/images event = Event( form.name.data, form.genre.data, form.venue.data, form.location.data, form.date.data, form.starttime.data, form.endtime.data, "static/images/"+f_name, User.query.filter_by(username=session['username']).first(), form.price.data, form.quantity.data) db.session.add(event) db.session.commit() return redirect(url_for('index')) return render_template('event/sell.html',form=form)
def setUp(self): self.k = Kingdom() self.k.save() self.c = EventCategory( frequency=1, timeout=1, ) self.c.save() self.e = Event( name="Event 1", slug="event_1", category=self.c, text="Event 1", on_fire="" ) self.e.save() self.a = EventAction( event=self.e, text="some text", on_fire="", ) self.a.save()
def html_string(self): try: return mark_safe(Event.generate_html_string_for(self.events, self.reading_user)) except: import traceback logger.warning(traceback.format_exc()) return "<<ERROR>>"
def inform_account_about_events_with_tag_with_email(account, events, tags_in_venues): if account.in_the_loop_email: featured_events = Event.featured_events_for_region( account.native_region)[:4] similar_events = find_similar_events(events) subject = "New Events in cityfusion" message = render_to_string( 'accounts/emails/in_the_loop_email.html', { "featured_events": featured_events, "events": events, "similar_events": similar_events, "STATIC_URL": "/static/", "site": "http://%s" % Site.objects.get_current().domain, "tags_in_venues": tags_in_venues, "advertising_region": account.advertising_region, }) try: msg = EmailMessage(subject, message, "*****@*****.**", [account.in_the_loop_email]) msg.content_subtype = 'html' msg.send() except: logger.error("Invalid email %s" % account.in_the_loop_email) return message else: return ""
def inform_account_about_events_with_tag_with_email(account, events, tags_in_venues): featured_events = Event.featured_events_for_region(account.native_region)[:4] similar_events = find_similar_events(events) subject = "New Events in cityfusion" message = render_to_string( "accounts/emails/in_the_loop_email.html", { "featured_events": featured_events, "events": events, "similar_events": similar_events, "STATIC_URL": "/static/", "site": "http://%s" % Site.objects.get_current().domain, "tags_in_venues": tags_in_venues, "advertising_region": account.advertising_region, }, ) msg = EmailMessage(subject, message, "*****@*****.**", [account.in_the_loop_email]) msg.content_subtype = "html" msg.send() return message
def remind_account_about_events_with_email(account, single_events): if account.reminder_email: featured_events = Event.featured_events_for_region( account.native_region)[0:4] similar_events = find_similar_events( Event.future_events.filter( id__in=single_events.values_list("event_id", flat=True))) subject = "Upcoming events from cityfusion" message = render_to_string( 'accounts/emails/reminder_email.html', { "featured_events": featured_events, "events": single_events, "similar_events": similar_events, "STATIC_URL": "/static/", "advertising_region": account.advertising_region, "site": "http://%s" % Site.objects.get_current().domain }) try: msg = EmailMessage(subject, message, "*****@*****.**", [account.reminder_email]) msg.content_subtype = 'html' msg.send() except: logger.error("Invalid email %s" % account.reminder_email) return message else: return ""
def remind_account_about_deleted_events_with_email(account, single_events): if account.reminder_email: featured_events = Event.featured_events_for_region( account.native_region)[:4] subject = 'Deleted events from cityfusion' message = render_to_string( 'accounts/emails/reminder_deleted_event_email.html', { "featured_events": featured_events, "events": single_events, "STATIC_URL": "/static/", "advertising_region": account.advertising_region, "site": "http://%s" % Site.objects.get_current().domain }) try: msg = EmailMessage(subject, message, "*****@*****.**", [account.reminder_email]) msg.content_subtype = 'html' msg.send() except: logger.error("Invalid email %s" % account.reminder_email) return message else: return ""
def remind_account_about_events_with_email(account, single_events): featured_events = Event.featured_events_for_region(account.native_region) similar_events = find_similar_events( Event.future_events.filter(id__in=single_events.values_list("event_id", flat=True)) ) subject = "Upcoming events from cityfusion" message = render_to_string( "accounts/emails/reminder_email.html", { "featured_events": featured_events, "events": single_events, "similar_events": similar_events, "STATIC_URL": "/static/", "advertising_region": account.advertising_region, "site": "http://%s" % Site.objects.get_current().domain, }, ) msg = EmailMessage(subject, message, "*****@*****.**", [account.reminder_email]) msg.content_subtype = "html" msg.send() return message
def make_event(title="event_title", state=Event.APPROVED, manager=None, assos=None, address=None, start=None, end=None, premium=False, ticket_deadline=None, image=Event._meta.get_field('image').get_default(), see_remaining=False): if assos is None: assos = manager.assos_id if manager is not None else \ create_association() address = create_address() if address is None else address start = create_date_time(days=1) if start is None else start end = start + datetime.timedelta(hours=5) if end is None else end return Event(title=title, event_state=state, manager_id=manager, assos_id=assos, address_id=address, start=start, end=end, premium_flag=premium, ticket_deadline=ticket_deadline, image=image, see_remaining=see_remaining)
def creating_post_save_event(instance, created=False, *args, **kwargs): if not created and instance.text != instance.text_was: instance.text_was = instance.text event = Event(author=instance.author, text=instance.get_title_for_updated_event()) event.save() if created: event = Event(author=instance.author, text=instance.get_title_for_event()) event.save()
def saving_eventable_model(instance, created=False, **kwaegs): if created: e = Event() e.title = instance.get_event_title() e.author = instance.get_author() e.content_type = ContentType.objects.get_for_model(instance) e.object_id = instance.id e.save()
def create(request): if request.method == 'POST': form = EventCreateForm(request.POST) if form.is_valid(): playgroup = form.cleaned_data['playgroup'] event = Event(playgroup=playgroup, name=form.cleaned_data['name'], date=form.cleaned_data['date']) event.save() for member in playgroup.members.all(): invitation = Invitation(event=event, member=member) invitation.save() messages.success(f'{event} created successfully.') return HttpResponseRedirect(reverse('event:thanks')) else: form = EventCreateForm() return render(request, 'event/create.html', { 'form': form, })
def html_string(self): try: return mark_safe( Event.generate_html_string_for(self.events, self.reading_user)) except: import traceback logger.warning(traceback.format_exc()) return "<<ERROR>>"
def test_delete_job(self): """ Test delete_job(job_id) """ e1 = Event( name="Software Conference", start_date="2012-10-22", end_date="2012-10-25" ) e1.save() j1 = Job( name="Software Developer", start_date="2012-10-22", end_date="2012-10-23", description="A software job", event=e1 ) j2 = Job( name="Systems Administrator", start_date="2012-9-1", end_date="2012-10-26", description="A systems administrator job", event=e1 ) j3 = Job( name="Project Manager", start_date="2012-1-2", end_date="2012-2-2", description="A management job", event=e1 ) j1.save() j2.save() j3.save() # test typical cases self.assertTrue(delete_job(j1.id)) self.assertTrue(delete_job(j2.id)) self.assertTrue(delete_job(j3.id)) self.assertFalse(delete_job(100)) self.assertFalse(delete_job(200)) self.assertFalse(delete_job(300))
def post(self): latitude = self.request.POST.get('latitiude') longitude = self.request.POST.get('longitude') events = Event.query() events = list(events) response_dict = json.dumps({'events': events}) self.response.headers['Content-Type'] = 'application/json' return self.response.out.write(response_dict)
def handle(self, *args, **options): for i in range(50): name = name_generator() slug = name date = date_generator() category = category_generator() location = location_generator() free = is_free() event = Event(name=name, slug=slug, date=date, category=category, location=location, free=free) event.save() self.stdout.write(self.style.SUCCESS("event created successfully!"))
def post(self, request, *args, **kwargs): form_class = self.get_form_class() form = self.get_form(form_class) event = Event() if form.is_valid(): event.contact = form.cleaned_data['contact'] event.date = form.cleaned_data['date'] event.note = form.cleaned_data['note'] event.status = form.cleaned_data['status'] event.user = self.request.user event.save() return HttpResponseRedirect('/') else: return render(request, self.template_name, {'form': form})
def test_get_jobs_ordered_by_title(self): e1 = Event(name = "Software Conference", start_date = "2012-10-22", end_date = "2012-10-25") e1.save() j1 = Job(name = "Software Developer", start_date = "2012-10-22", end_date = "2012-10-23", description = "A software job", event = e1) j2 = Job(name = "Systems Administrator", start_date = "2012-9-1", end_date = "2012-10-26", description = "A systems administrator job", event = e1) j3 = Job(name = "Project Manager", start_date = "2012-1-2", end_date = "2012-2-2", description = "A management job", event = e1) j1.save() j2.save() j3.save() #test typical case job_list = get_jobs_ordered_by_title() self.assertIsNotNone(job_list) self.assertNotEqual(job_list, False) self.assertEqual(len(job_list), 3) self.assertIn(j1, job_list) self.assertIn(j2, job_list) self.assertIn(j3, job_list) #test order self.assertEqual(job_list[0].name, j3.name) self.assertEqual(job_list[1].name, j1.name) self.assertEqual(job_list[2].name, j2.name)
def explore(event_page_number=1): place = request.args.get('place') try: lng = float(request.args.get('lng')) lat = float(request.args.get('lat')) events = Event.objects(location__near=[lng, lat], location__max_distance=10000, cancel=False).order_by('-start_datetime').paginate(page=event_page_number, per_page=4) return render_template('event/explore.html', events=events, place=place, lng=lng, lat=lat) except: return render_template('event/explore.html', place=place)
def test_is_running(self): now = timezone.now() event = Event(title="Test running", description="Test Event running", start_time=now - timedelta(hours=1), end_time=now + timedelta(hours=1)) self.assertTrue(event.is_running()) event = Event(title="Test future", description="Test Event not running yet", start_time=now + timedelta(hours=1), end_time=now + timedelta(hours=2)) self.assertFalse(event.is_running()) event = Event(title="Test past", description="Test Event not running anymore", start_time=now - timedelta(hours=2), end_time=now - timedelta(hours=1)) self.assertFalse(event.is_running())
def setUp(self): self.client = Client() self.factory = RequestFactory() self.event = Event(type_id=2, title="test_title", created_by_id=8, created_at="2014-03-26 15:33:06", reporter_name="test_reporter_name", reporter_phone_number="12345", postal_code="654321", address="test_address") self.client.login(username="******", password="******")