def change_meeting(request): #print("come here") meetingid = request.POST.get('id') meeting = Meeting.objects.get(id=meetingid) # delete original meeting event relationship and events #mres = MeetingEventRelationship.objects.filter(meeting=meeting) #for mre in mres: # event = mre.event # event.delete() # mre.delete() description = "Notice! Meeting information is changed !! Please decide whether \ you will attend again!! (original meeting event is deleted automatically)\n" _deletemeeting(meeting) group_name = request.POST.get('group_name') group = Group.objects.get(name=group_name) admin = group.admin title = request.POST.get('changed_title') description += request.POST.get('changed_description') start_time = request.POST.get('changed_start_time') end_time = request.POST.get('changed_end_time') meeting = Meeting(group=group, title=title, description=description, start_time=start_time, end_time=end_time) meeting.save() event = Event(title=meeting.title, description=meeting.description, start=meeting.start_time, end=meeting.end_time) event.creator = admin calendar = Calendar.objects.get(slug=admin.username) event.calendar = calendar event.save() mer = MeetingEventRelationship(meeting=meeting, event=event) mer.save() memberlist = find_all_members(group, True) result = 'true' for member in memberlist: if member == admin: continue status = sendmeetinginvitation(admin, member, group, meeting) if status is False: result = 'false' data = {'valid': result} data = json.dumps(data) mimetype = 'application/json' return HttpResponse(data, mimetype)
def add_meeting(request): group_name = request.POST.get('group_name') title = request.POST.get('title') description = request.POST.get('description') start_time = request.POST.get('start_time') end_time = request.POST.get('end_time') group = Group.objects.get(name=group_name) admin = group.admin #find time convertor ##save this meeting into meeting table meeting = Meeting(group=group, title=title, description=description, start_time=start_time, end_time=end_time) meeting.save() #bai! save event for the admin event = Event(title=title, description=description, start=start_time, end=end_time) event.creator = admin calendar = Calendar.objects.get(slug=admin.username) event.calendar = calendar event.save() #bai! save meetingeventrelationship for admin mer = MeetingEventRelationship(meeting=meeting, event=event) mer.save() ##send invitation to all member ###find all member memberlist = find_all_members(group, True) result = 'false' for member in memberlist: if member == admin: continue status = sendmeetinginvitation(admin, member, group, meeting) if status == True: result = 'true' else: result = 'false' data = {'valid': result} data = json.dumps(data) mimetype = 'application/json' return HttpResponse(data, mimetype)
def accept_meeting(request): meeting_info = request.POST.getlist('meeting_info[]') username = request.POST.get('username') group_name = meeting_info[2] title = meeting_info[0] description = meeting_info[1] start_time = meeting_info[3] end_time = meeting_info[4] meetingid = meeting_info[5] # judge whether the member is in the meeting already meeting = Meeting.objects.get(id=meetingid) mers = MeetingEventRelationship.objects.filter(meeting=meeting) result = 'false' for mer in mers: if mer.event.creator.username == username: result = 'true' break if result == 'false': group = Group.objects.get(name=group_name) #send notification to admin admin = Group.objects.get(name=group_name).admin member = User.objects.get(username=username) message = username+ ' will attend the meeting ' + title + 'of group ' + group_name + '.' status = messageHandler.send_message(member, admin, message) if status == 200: result = 'true' else: result = 'false' if '-' in start_time: def convert(ddatetime): if ddatetime: # ddatetime = ddatetime.split(' ')[0] ddatetime = ddatetime.split('+')[0] print("ddatetime is " + ddatetime) time = datetime.datetime.strptime(ddatetime, '%Y-%m-%dT%H:%M:%S') return time else: def convert(ddatetime): return datetime.datetime.utcfromtimestamp(float(ddatetime)) #store an event of that user ##add event start_time = convert(start_time) end_time = convert(end_time) if settings.USE_TZ: # If USE_TZ is True, make start and end dates aware in UTC timezone utc = pytz.UTC start_time = utc.localize(start_time) end_time = utc.localize(end_time) event = Event(title=title, description=description, start=start_time, end=end_time) user = User.objects.get(username=username) calendar = Calendar.objects.get(slug=username) event.creator = user event.calendar = calendar event.save() # accept the invitation messageHandler.set_meetinginvitation_accept(member, group, meeting) #increase attendees # add meeting event relationship mer = MeetingEventRelationship(meeting=meeting, event=event) mer.save() res = {'valid': result} res = json.dumps(res) mimetype = 'application/json' return HttpResponse(res, mimetype)