def index(request): user = request.user if request.method == 'POST': form = EventForm(request.POST) if form.is_valid(): event = form.save(user=user) title = event._meta.verbose_name.title() messages.success( request, "{event} was added.".format(event=title)) else: messages.error(request, form.errors) else: form = EventForm() today = dt.date.today() if 'filter' in request.GET: date = dt.datetime.strptime(request.GET['filter'], '%d-%m-%Y').date() else: date = today from_ = dt.datetime(date.year, date.month, date.day) nextdate = date + dt.timedelta(days=1) to = dt.datetime(nextdate.year, nextdate.month, nextdate.day) followups = FollowUp.objects.filter(user__company=user.company, date=date) meetings = Meeting.objects.filter( Q(date_started__range=(from_, to)) | Q(date_ended__range=(from_, to)), user__company=user.company) if not user.is_head: followups = followups.filter(user=user) meetings = meetings.filter(user=user) mdict = dict() for m in meetings: # Keep data in `mdict` in a object-per-time format. # E.g. mdict[6] will retrieve a `Meeting` object at 6 o'clock. hr = str(m.date_started.hour) if len(hr) == 1: hr = '0' + hr min_ = str(m.date_started.minute) if len(min_) == 1: min_ = '0' + min_ time = '{hr}:{min}'.format(hr=hr, min=min_) mdict[time] = m ctx = { 'event_form': form, 'is_today': True if date == today else False, 'followup_list': followups, 'meeting_list': sorted(mdict.items()), 'title': "My events", 'title_icon': 'calendar-o', 'date': '{month} {day}'.format(month=LONG_MONTH_NAMES[date.month-1], day=date.day) } return render(request, 'events/index.html', ctx)
def get(self, request, *args, **kwargs): id = self.id if id is None: return HttpResponseForbidden() event = Event.objects.filter(id=self.id).first() if event is None: form = EventForm() else: form = EventForm(instance=event) return render(request, "dashboard/events/create.html", locals())
def post(self, request, *args, **kwargs): post = request.POST.copy() form = EventForm(post) if form.is_valid(): form.save() return redirect(reverse("events_index_dashboard")) else: for e in form.errors: messages.error(request, e) return render(request, "dashboard/events/create.html", locals())
def CreateEvent(request): if request.method == 'GET': type_events = TypeEventModel.objects.all() type_location = TypeLocation.objects.all() config = ConfigPlatform.objects.get(id=1) return render(request, 'event/event_new.html', context={ 'type_events': type_events, 'type_location': type_location, 'config': config }) elif request.method == 'POST': if request.POST.get('idevent'): event = EventModel.objects.filter( id=request.POST.get('idevent')).first() event.title = request.POST.get('title') event.url_event = request.POST.get('url_event') event.description = request.POST.get('description') event.type_event = TypeEventModel.objects.get( id=request.POST.get('id_type')) event.location_name = request.POST.get('locationName') event.location_address = request.POST.get('locationAddress') event.location_state = request.POST.get('locationState') event.location_country = request.POST.get('locationCountry') event.save() return JsonResponse({ 'status': "change", }) else: form = EventForm(request.POST) if form.is_valid(): event = form.save(commit=False) event.user = User.objects.filter(id=request.user.id).first() newevent = form.save() return JsonResponse({ 'status': "OK", 'id_event': newevent.id, }) else: return JsonResponse({ 'status': "Error", 'errors': form.errors, })
def generate_missing_fields_form(*fields): data = { "name": "Name", "start_date_time": make_aware(datetime.datetime(2200, 1, 1, hour=1, minute=20)), "end_date_time": make_aware(datetime.datetime(2200, 1, 1, hour=1, minute=20)), "member_only": True, "lead": "Lead", "description": "Description", "location": "Location", "organizer": Group(name="organizer-group").save(), "price": 42.0, } upload_image = get_image_file() files = { "image": SimpleUploadedFile(upload_image.name, upload_image.read()) } for field in fields: if field in data: del data[field] if field in files: del files[field] return EventForm(data=data, files=files)
def test_event_form(self): response = self.client.get('/events/create') html = response.content.decode('utf-8') user = User(**self.user) event = Event(author=user, **self.event) form = EventForm(instance=event)
def insertEventType(request): if request.method == 'POST': form = EventTypeForm(request.POST) if form.is_valid(): form.save() messages.success(request,'Tipo de evento agregado') form2 = EventForm() return HttpResponseRedirect(reverse('evento_crear')) else: form = EventTypeForm() return render(request, 'events/insertEvenType.html',{'form':form})
def updateEvent(request,id): event = Event.objects.get(id=id) if request.method =='GET': form= EventForm(instance=event) else: form = EventForm(request.POST, instance=event) if form.is_valid(): form.save() return redirect('evento_listar') return render(request,'events/insertEvents.html',{'form':form})
def index(request): context = RequestContext(request) registered = False if request.method == "POST": event_form = EventForm(data=request.POST) if event_form.is_valid(): event = event_form.save(commit=False) if request.user.is_authenticated(): event.organizer = request.user event.save() event_form.save_m2m() return HttpResponseRedirect("/") registered = True else: print event_form.errors else: event_form = EventForm() return render_to_response("events/event_form.html", {"event_form": event_form, "registered": registered}, context)
def insertEvent(request): if request.method == 'POST': form = EventForm(request.POST) if form.is_valid(): form.save() object = Event() event = Event.objects.get(id=str(object.lastEventId())) event.image="./images/porDefecto.jpg" event.url="http://localhost:8000" event.save() messages.success(request,'Evento creado exitosamente') return HttpResponseRedirect(reverse('evento_imagen', args=[object.lastEventId()])) else: form = EventForm() return render(request, 'events/insertEvents.html',{'form':form})
def post(self, request, *args, **kwargs): id = self.id if id is None: return HttpResponseForbidden() event = Event.objects.filter(id=self.id).first() post = self.request.POST.copy() if event is None: form = EventForm(post) else: form = EventForm(post, instance=event) if form.is_valid(): form.save() return redirect(reverse("events_index_dashboard")) else: for e in form.errors: messages.error(request, e) return render(request, "dashboard/events/create.html", locals())
def generate_form( name="Name", start_date_time=None, end_date_time=None, image=None, member_only=False, lead="Lead", description="Description", location="Location", organizer=None, price=20.0, ) -> EventForm: if start_date_time is None: start_date_time = make_aware( datetime.datetime(2200, 1, 1, hour=1, minute=20)) if end_date_time is None: end_date_time = make_aware( datetime.datetime(2200, 1, 1, hour=1, minute=20)) if organizer is None: organizer = Group(name="organizer-group").save() files = {} if image is None: upload_image = get_image_file() files["image"] = SimpleUploadedFile(upload_image.name, upload_image.read()) return EventForm( data={ "name": name, "start_date_time": start_date_time, "end_date_time": end_date_time, "member_only": member_only, "lead": lead, "description": description, "location": location, "organizer": organizer, "price": price, }, files=files, )
def get(self, request, *args, **kwargs): form = EventForm() return render(request, "dashboard/events/create.html", locals())
def index(request): user = request.user if request.method == 'POST': form = EventForm(request.POST) if form.is_valid(): event = form.save(user=user) title = event._meta.verbose_name.title() messages.success(request, "{event} was added.".format(event=title)) else: messages.error(request, form.errors) else: form = EventForm() today = dt.date.today() if 'filter' in request.GET: date = dt.datetime.strptime(request.GET['filter'], '%d-%m-%Y').date() else: date = today from_ = dt.datetime(date.year, date.month, date.day) nextdate = date + dt.timedelta(days=1) to = dt.datetime(nextdate.year, nextdate.month, nextdate.day) followups = FollowUp.objects.filter(user__company=user.company, date=date) meetings = Meeting.objects.filter(Q(date_started__range=(from_, to)) | Q(date_ended__range=(from_, to)), user__company=user.company) if not user.is_head: followups = followups.filter(user=user) meetings = meetings.filter(user=user) mdict = dict() for m in meetings: # Keep data in `mdict` in a object-per-time format. # E.g. mdict[6] will retrieve a `Meeting` object at 6 o'clock. hr = str(m.date_started.hour) if len(hr) == 1: hr = '0' + hr min_ = str(m.date_started.minute) if len(min_) == 1: min_ = '0' + min_ time = '{hr}:{min}'.format(hr=hr, min=min_) mdict[time] = m ctx = { 'event_form': form, 'is_today': True if date == today else False, 'followup_list': followups, 'meeting_list': sorted(mdict.items()), 'title': "My events", 'title_icon': 'calendar-o', 'date': '{month} {day}'.format(month=LONG_MONTH_NAMES[date.month - 1], day=date.day) } return render(request, 'events/index.html', ctx)
def watchlist_base_chart_contents_extra_context(view): extra_context = dict() # Captured values kwargs = view.kwargs chart_id = kwargs.get('ci') watchlist_id = kwargs.get('wi') content_type = kwargs.get('ct') object_id = kwargs.get('oi') last_content_type = kwargs.get('lct') last_object_id = kwargs.get('loi') # Post data data = kwargs.get('POST') or QueryDict() selected_years = data.getlist('average_years[]') watchlist = Watchlist.objects.get(id=watchlist_id) # selected sources sources = None # filter items & types if content_type == 'config': items = watchlist.children().filter(product__config__id=object_id) elif content_type == 'type': if last_content_type == 'abstractproduct': items = watchlist.children().filter_by_product(product__id=last_object_id) elif content_type == 'abstractproduct': items = watchlist.children().filter_by_product(product__id=object_id) elif content_type == 'source': items = watchlist.children().filter_by_product(product__id=last_object_id) sources = Source.objects.filter(id=object_id) types = Type.objects.filter_by_watchlist_items(watchlist_items=items) if content_type == 'type': types = types.filter(id=object_id) extra_context['unit_json'] = UnitSerializer(items.get_unit()).data # get tran data by chart series_options = [] if chart_id in ['1', '2', '5']: for t in types: end_date = datetime.date.today() if chart_id == '1' else None start_date = end_date + datetime.timedelta(days=-13) if chart_id == '1' else None option = get_daily_price_volume(_type=t, items=items.filter(product__type=t), sources=sources, start_date=start_date, end_date=end_date) if not option['no_data']: series_options.append(option) if chart_id == '5': event_form = EventForm() extra_context['event_form'] = event_form extra_context['event_form_js'] = [event_form.media.absolute_path(js) for js in event_form.media._js[1:]] if content_type in ['config', 'abstractproduct']: extra_context['event_content_type_id'] = ContentType.objects.get(model=content_type).id extra_context['event_object_id'] = object_id elif content_type in ['type', 'source']: extra_context['event_content_type_id'] = ContentType.objects.get(model=last_content_type).id extra_context['event_object_id'] = last_object_id if chart_id == '3': for t in types: option = get_daily_price_by_year(_type=t, items=items.filter(product__type=t), sources=sources) if not option['no_data']: series_options.append(option) if chart_id == '4': this_year = datetime.datetime.now().year selected_years = selected_years or [y for y in range(this_year-5, this_year)] # default latest 5 years selected_years = [int(y) for y in selected_years] # cast to integer extra_context['method'] = view.request.method extra_context['selected_years'] = selected_years for t in types: option = get_monthly_price_distribution(_type=t, items=items.filter(product__type=t), sources=sources, selected_years=selected_years) if not option['no_data']: series_options.append(option) extra_context['series_options'] = series_options extra_context['chart'] = Chart.objects.get(id=chart_id) return extra_context