def __init__(self, *args, **kwargs): tmp = 0 if 'user' in kwargs: self.user = kwargs["user"] del kwargs["user"] instance = '' if 'instance' in kwargs: instance = kwargs["instance"] del kwargs["instance"] super(TrainingForm, self).__init__(*args, **kwargs) if self.user: if instance: self.fields['xml_file'].required = False from events.views import is_resource_person if is_resource_person(self.user): self.fields['training_type'].choices = [(0, 'Training'),(2, 'Pilot Workshop'), (3, 'Live Workshop')] self.fields['training_type'].initial = 0 if instance: self.fields['training_type'].initial = instance.training_type self.fields['course'].initial = instance.course_id self.fields['foss'].initial = instance.foss self.fields['language'].initial = instance.language self.fields['tdate'].initial = str(instance.tdate) + " " + str(instance.ttime)[0:5] self.fields['department'].initial = instance.department.all().values_list('id', flat=True) self.fields['skype'].initial = instance.skype if instance.extra_fields: self.fields['course_number'].initial = instance.extra_fields.paper_name self.fields['no_of_lab_session'].initial = instance.extra_fields.no_of_lab_session
def __init__(self, *args, **kwargs): tmp = 0 if 'user' in kwargs: self.user = kwargs["user"] del kwargs["user"] instance = '' if 'instance' in kwargs: instance = kwargs["instance"] del kwargs["instance"] super(TrainingForm, self).__init__(*args, **kwargs) if self.user: if instance: self.fields['xml_file'].required = False from events.views import is_resource_person if is_resource_person(self.user): self.fields['training_type'].choices = [(0, 'Training'), (2, 'Pilot Workshop'), (3, 'Live Workshop')] self.fields['training_type'].initial = 0 if instance: self.fields['training_type'].initial = instance.training_type self.fields['course'].initial = instance.course_id self.fields['foss'].initial = instance.foss self.fields['language'].initial = instance.language self.fields['tdate'].initial = str(instance.tdate) + " " + str( instance.ttime)[0:5] self.fields['department'].initial = instance.department.all( ).values_list('id', flat=True) self.fields['skype'].initial = instance.skype if instance.extra_fields: self.fields[ 'course_number'].initial = instance.extra_fields.paper_name self.fields[ 'no_of_lab_session'].initial = instance.extra_fields.no_of_lab_session
def reopen_event(request, eventid): context = {} user = request.user if not (user.is_authenticated() and is_resource_person(user)): raise PermissionDenied() event = TrainingEvents.objects.get(id=eventid) if event: event.training_status = 0 #close event event.save() messages.success(request, 'Event reopened successfully. As the event date over you will find this entry under expired tab.') else: messages.error(request, 'Request not sent.Please try again.') return HttpResponseRedirect("/training/event/rp/completed/")
def approve_event_registration(request, pk): context = {} user = request.user if not (user.is_authenticated() and is_resource_person(user)): raise PermissionDenied() event = TrainingEvents.objects.get(id=pk) if event: event.training_status = 1 #approve registraions event.save() messages.success(request, 'Registrations approved successfully') else: messages.error(request, 'Request not sent.Please try again.') return HttpResponseRedirect("/training/event/rp/ongoing/")
def close_event(request, pk): context = {} user = request.user if not (user.is_authenticated() and is_resource_person(user)): raise PermissionDenied() event = TrainingEvents.objects.get(id=pk) if event: event.training_status = 2 #close event event.save() messages.success(request, 'Event has been closed successfully') else: messages.error(request, 'Request not sent.Please try again.') return HttpResponseRedirect("/training/event/rp/completed/")
def listevents(request, role, status): today=date.today() context = {} user = request.user if not (user.is_authenticated() and (is_resource_person(user) or is_administrator(user))): raise PermissionDenied() if (not role ) or (not status): raise PermissionDenied() states = State.objects.filter(resourceperson__user_id=user, resourceperson__status=1) TrMngerEvents = TrainingEvents.objects.filter(state__in=states).order_by('-event_start_date') status_list = {'ongoing': 0, 'completed': 1, 'closed': 2, 'expired': 3} roles = ['rp', 'em'] if role in roles and status in status_list: if status == 'ongoing': queryset = TrMngerEvents.filter(training_status__lte=1, event_end_date__gte=today) elif status == 'completed': queryset =TrMngerEvents.filter(training_status=1, event_end_date__lt=today) elif status == 'closed': queryset = TrMngerEvents.filter(training_status=2) elif status == 'expired': queryset = TrMngerEvents.filter(training_status=0, event_end_date__lt=today) header = { 1: SortableHeader('#', False), 2: SortableHeader( 'state__name', True, 'State' ), 3: SortableHeader( 'host_college__academic_code', True, 'Code' ), 4: SortableHeader( 'host_college__institution_name', True, 'Institution' ), 5: SortableHeader('foss__foss', True, 'Foss Name'), 6: SortableHeader( 'event_coordinator_name', True, 'Coordinator' ), 7: SortableHeader( 'registartion_end_date', True, 'Registration Period' ), 8: SortableHeader( 'event_start_date', True, 'Event Start Date' ), 9: SortableHeader( 'event_end_date', True, 'Event End Date' ), 10: SortableHeader('Participant Count', True), 11: SortableHeader('Action', False) } event_type = request.GET.get('event_type', None) pcount, mcount, fcount = get_all_events_detail(queryset, event_type) if event_type else get_all_events_detail(queryset) raw_get_data = request.GET.get('o', None) queryset = get_sorted_list( request, queryset, header, raw_get_data ) collection= TrEventFilter(request.GET, queryset=queryset, user=user) else: raise PermissionDenied() context['form'] = collection.form page = request.GET.get('page') collection = get_page(collection.qs, page) context['collection'] = collection context['role'] = role context['status'] = status context['header'] = header context['today'] = date.today() context['ordering'] = get_field_index(raw_get_data) context['pcount'] = pcount context['mcount'] = mcount context['fcount'] = fcount return render(request,'event_status_list.html',context)