def comprobarFormBusqueda(form, sesionAct): dajax = Dajax() dajax.clear('#listaResultados', 'innerHTML') dajax.script("$('#cargando').hide();") if form.is_valid(): tipo = str(form.cleaned_data["tipoBusq"]) dato = str(form.cleaned_data["consulta"]) #pythoncom.CoInitialize() buscando = b(sesionAct) dajax.script("$('#listaResultados').show();") dajax.script("$('#resultado').show();") dajax.append('#listaResultados', 'innerHTML', buscando.renderBusqueda(tipo, dato)) dajax.script("$('#resultado').html($('#r').html());") dajax.script("$('#r').empty();") form.save() else: print form.errors try: dajax.append( '#err', 'innerHTML', render_to_response('busqueda/error.html', {'errors': dict(form.errors)['__all__']}) ) except: dajax.append( '#err', 'innerHTML', render_to_response('busqueda/error.html', {'errors': dict(form.errors)['consulta']}) ) return dajax.calls
def comprobarFormBusqueda(form, sesionAct): dajax = Dajax() dajax.clear('#listaResultados', 'innerHTML') dajax.script("$('#cargando').hide();") if form.is_valid(): tipo = str(form.cleaned_data["tipoBusq"]) dato = str(form.cleaned_data["consulta"]) #pythoncom.CoInitialize() buscando = b(sesionAct) dajax.script("$('#listaResultados').show();") dajax.script("$('#resultado').show();") dajax.append('#listaResultados', 'innerHTML', buscando.renderBusqueda(tipo, dato)) dajax.script("$('#resultado').html($('#r').html());") dajax.script("$('#r').empty();") form.save() else: print form.errors try: dajax.append( '#err', 'innerHTML', render_to_response('busqueda/error.html', {'errors': dict(form.errors)['__all__']})) except: dajax.append( '#err', 'innerHTML', render_to_response('busqueda/error.html', {'errors': dict(form.errors)['consulta']})) return dajax.calls
def eliminarDatos(request): """ @note: Función que permite eliminar los datos del registro seleccionado @author: T.S.U. Roldan D. Vargas G. @contact: [email protected] @return: Retorna un objeto dajax con un mensaje al usuario que le indica el estatus de la eliminación de los registros """ dajax = Dajax() opcion = request.POST['opcion'] id = request.POST['id'] objetos = [] try: if opcion=="sede": sede = Sede.objects.get(pk=id) sede.delete() objetos = Sede.objects.all() elif opcion=="dpto": dpto = Departamento.objects.get(pk=id) dpto.delete() objetos = Departamento.objects.all() elif opcion=="carrera": carr = Carrera.objects.get(pk=id) carr.delete() objetos = Carrera.objects.all() elif opcion=="carrerasede": carsed = Carrera_Sede.objects.get(pk=id) carsed.delete() objetos = Carrera_Sede.objects.all() dajax.remove("#"+id) if not objetos: dajax.clear("#registros","innerHTML") dajax.alert(_(u"Registros eliminados con éxito")) except Exception, e: dajax.alert(_(u"Los registros no se pueden eliminar. Error: ")+e.message)
def mostrarDatosCarrera(request): """ @note: Función que permite mostrar los datos de las carreras @author: T.S.U. Roldan D. Vargas G. @contact: [email protected] @return: Retorna un objeto dajax que muestra los datos de la carrera seleccionada """ dajax = Dajax() id = request.POST['carrera'] car = Carrera.objects.get(pk=id) #--- Se inicializan los valores de los campos del formulario dajax.clear("#cod_carrera", "value") dajax.clear("#descripcion", "value") #--- Se asignan los valores de la carrera seleccionada dajax.assign("#cod_carrera", "value", str(car.cod_carrera)) dajax.assign("#cod_carrera", "readOnly", "readonly") dajax.assign("#modificar", "value", str(car.cod_carrera)) dajax.assign("#descripcion", "value", str(car.descripcion)) dajax.script("document.getElementById('estatus').value='"+str(car.estatus)+"'") dajax.script("document.getElementById('estatus').selected=true") dajax.script("document.getElementById('departamento').value='"+str(car.departamento.cod_dep)+"'") dajax.script("document.getElementById('departamento').selected=true") #--- Se elimina cualquier mensaje de error producido por eventos anteriores for i in range(1,5): dajax.clear("#e"+str(i), "innerHTML") return dajax
def add_student_content_attempt(request, form): dajax = Dajax() try: form_dict={} for obj in form: form_dict[obj['name']]=obj['value'] form = StudentContentAttemptRequiredScoreForm(form_dict) try: sca=form.save() except ValueError: dajax.assign('#add_attempt_errors','innerHTML', "%s" % form['score'].errors) dajax.append('#add_attempt_errors','innerHTML', " %s" % form['datetime'].errors) else: total_score=sca.content.student_score(sca.student) number_attempts = len(sca.content.studentcontentattempt_set.filter(student=sca.student)) table_row = "<tr><td> %s</td><td> %s</td><td> %s</td></tr>" % \ (number_attempts, format_datetime(sca.datetime), sca.score) dajax.append('#attempt_table', 'innerHTML', table_row) dajax.assign('#assessment_score_table', 'innerHTML', total_score) dajax.assign('#assessment_score', 'innerHTML', total_score) dajax.script('toggleAttemptForm();') dajax.clear('#add_attempt_errors','innerHTML') except Exception as e: dajax.alert("something wrong: %s" % e) return dajax.json()
def updatecombo(request,option): dajax = Dajax() out = ["<option value='0'>Select Resource...</option>"] if option != '0': re=Resource.objects.filter(type=option).values('name','id') res=re.filter(availability='true') dajax.remove_css_class('#combo2s', 'hide') for r in res: out.append("<option value='%s'>%s</option>" % (r['id'],r['name'])) else: dajax.add_css_class('#combo2s', 'hide') dajax.assign('#combo2', 'innerHTML',''.join(out)) dajax.clear('#status', 'innerHTML') dajax.add_css_class('#options', 'hide') dajax.add_css_class('.alert-error', 'hide') dajax.clear('#errorList .showMessage','innerHTML') dajax.add_css_class('#mul_date','hide') dajax.add_css_class('#sel_date','hide') dajax.add_css_class('#infos', 'hide') dajax.add_css_class('#st_time', 'hide') dajax.add_css_class('#en_time', 'hide') dajax.add_data('','$("input[name=optionsRadios]:checked").val') dajax.add_data('checked','$("input[name=optionsRadios]:checked").removeAttr') return dajax.json()
def notifiche(request,option,url): dajax = Dajax() #pdb.set_trace() i=0 dajax.assign('#sele','value','') for not_id in url.rsplit('_'): i += 1 selector='#not-'+not_id m = Notifica.objects.get(id=not_id) if (option == 'letto'): m.letto=True m.save() dajax.remove_css_class(selector,'warning') if (option == 'nonletto'): m.letto=False m.save() dajax.add_css_class(selector,'warning') if (option == 'cancella'): m.delete() dajax.remove(selector) dajax.remove('#not-inv-'+not_id) #dajax.alert(request.user.get_profile().nonletti()) try: non=request.user.get_profile().notifiche_non_lette() if non >0: dajax.assign('#notifiche-badge','innerHTML',non) else: dajax.assign('#notifiche-badge','innerHTML','') except: pass dajax.clear('.ch','checked') dajax.script("$('#loading').addClass('hidden');") return dajax.json()
def notifiche(request,option,url): dajax = Dajax() #pdb.set_trace() i=0 dajax.assign('#sele','value','') for not_id in url.rsplit('_'): i += 1 selector='#not-'+not_id m = Notifica.objects.get(id=not_id) if (option == 'letto'): m.letto=True m.save() dajax.remove_css_class(selector,'warning') if (option == 'nonletto'): m.letto=False m.save() dajax.add_css_class(selector,'warning') if (option == 'cancella'): m.delete() dajax.remove(selector) dajax.remove('#not-inv-'+not_id) #dajax.alert(request.user.get_profile().nonletti()) try: non=request.user.pers_user.notifiche_non_lette() if non >0: dajax.assign('#notifiche-badge','innerHTML',non) else: dajax.assign('#notifiche-badge','innerHTML','') except: pass dajax.clear('.ch','checked') dajax.script("$('#loading').addClass('hidden');") return dajax.json()
def addCourseByProfToSession(request, form): dajax = Dajax() sessionList = [] c = Course.objects.filter(subject=form['courseSubjectByProf'], number=form['courseNumberByProf'])[0].title d = Instructor.objects.filter(userid=form['subjectProfs']) firstName = d[0].first_name lastName = d[0].last_name courseTuple = (form['courseSubjectByProf'], form['subjectProfs'], form['courseNumberByProf'], c, firstName, lastName) if 'byProf' in request.session: if courseTuple in request.session['byProf']: dajax.assign('#warningDiv', 'innerHTML', 'You have already selected %s %s - %s, taught by: %s %s!' % (courseTuple[0], courseTuple[2], courseTuple[3], courseTuple[4], courseTuple[5])) return dajax.json() sessionList = request.session['byProf'] sessionList.append(courseTuple) else: sessionList.append(courseTuple) request.session['byProf'] = sessionList out = [] for i in request.session['byProf']: out.append("<li>%s %s - %s, taught by: %s %s <a onclick=\"deleteCourseByProfFromSession('%s', '%s', '%s', '%s', '%s', '%s')\">(remove)</a></li>" % (i[0], i[2], i[3], i[4], i[5], i[0], i[1], i[2], i[3], i[4], i[5])) dajax.assign('#addCourseByProfList', 'innerHTML', ''.join(out)) dajax.clear('#warningDiv', 'innerHTML') return dajax.json()
def addCourseToSession(request, form): dajax = Dajax() sessionList = [] c = Course.objects.filter(subject=form['courseSubject'], number=form['courseNumber'])[0].title courseTuple = (form['courseSubject'], form['courseNumber'], c) if 'byCourse' in request.session: if courseTuple in request.session['byCourse']: dajax.assign('#warningDiv', 'innerHTML', 'You have already selected %s %s - %s!' % courseTuple) return dajax.json() sessionList = request.session['byCourse'] sessionList.append(courseTuple) else: sessionList.append(courseTuple) request.session['byCourse'] = sessionList out = [] for i in request.session['byCourse']: out.append("<li>%s %s - %s <a onclick=\"deleteCourseFromSession('%s', '%s', '%s')\">(remove)</a></li>" % (i[0], i[1], i[2], i[0], i[1], i[2])) dajax.assign('#addCourseList', 'innerHTML', ''.join(out)) dajax.clear('#warningDiv', 'innerHTML') return dajax.json()
def share_saved_entry(request,container,e_id): dajax = Dajax() usr = get_user(request) usrs = User.objects.filter(~Q(id=usr.id)) try: entry = Address.objects.get(owner=usr, id=e_id) dajax.clear('#'+str(container), 'innerHTML') shared = SharedInfo.objects.filter(addr=entry) init= [] for i in shared: init.append(i.shared_user.id) print init form = UserList(users = usrs, initial={'users': init}) html = render_to_string( 'maps_app/share_saved_entry.html', {'e_id':e_id,'form':form}) dajax.append('#'+str(container),'innerHTML',html) except Address.DoesNotExist: print "exception" return dajax.json()
def deleteUnavailableFromSession(request, day, startMinute, startHour, endMinute, endHour): dajax = Dajax() listOfDays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] t1 = time(int(startHour), int(startMinute)) t2 = time(int(endHour), int(endMinute)) sesList = request.session['timesUnavailable'] sesList.remove((int(day), t1, t2, listOfDays[int(day)])) request.session['timesUnavailable'] = sesList out = [] for i in request.session['timesUnavailable']: if int(i[1].minute) < 10: firstMinute = str(i[1].minute) + '0' else: firstMinute = str(i[1].minute) if int(i[2].minute) < 10: lastMinute = str(i[2].minute) + '0' else: lastMinute = str(i[2].minute) out.append("<li>%s from %s:%s %s to %s:%s %s <a onclick=\"Dajaxice.scheduler.deleteUnavailableFromSession(Dajax.process, { 'day':'%s', 'startMinute':'%s', 'startHour':'%s', 'endMinute':'%s', 'endHour':'%s' })\">(remove)</a></li>" % (i[3], changeFrom24To12(i[1].hour), firstMinute, hourIsAMorPM(i[1].hour), changeFrom24To12(i[2].hour), lastMinute, hourIsAMorPM(i[2].hour), i[0], i[1].minute, i[1].hour, i[2].minute, i[2].hour)) if not request.session['timesUnavailable']: out.append("<span>There are no times specified.</span>") dajax.assign('#addTimeList', 'innerHTML', ''.join(out)) dajax.clear('#warningDiv', 'innerHTML') return dajax.json()
def date_check_new(request,option,end_hour,end_min,start_hour,start_min): dajax = Dajax() end_hour=int(end_hour) end_min=int(end_min) start_hour = int(start_hour) start_min = int(start_min) now=datetime.now().date() date = datetime.strptime(option,"%Y-%m-%d").date() status = [] if now < date: dajax.add_css_class('#seld-error', 'hide') dajax.add_css_class('#errorList', 'hide') if start_hour!=0 and end_hour!=0 and end_min!=60 and start_min!=60: status.append('<button onclick="Dajaxice.dashboard.single_booking_check(Dajax.process, {\'end_min\':document.getElementById(\'emin\').value,\'end_hour\':document.getElementById(\'ehr\').value,\'start_hour\':document.getElementById(\'shr\').value,\'start_min\':document.getElementById(\'smin\').value,\'option\':document.getElementById(\'datepicker\').value,\'res_id\':document.getElementById(\'combo2\').value})" type="button" >Click here to check status</button>') dajax.assign('#status', 'innerHTML',''.join(status)) dajax.add_css_class('#errorList', 'hide') dajax.add_css_class('.alert-error', 'hide') else: dajax.clear('#status','innerHTML') if start_hour==0 or start_min==60: dajax.remove_css_class('#startt-error', 'hide') else: dajax.remove_css_class('#endt-error', 'hide') dajax.add_css_class('#startt-error', 'hide') else: dajax.assign('#errorList .showMessage','innerHTML','You can not book for the past or today. Kindly select some other date') dajax.clear('#status','innerHTML') dajax.remove_css_class('#errorList', 'hide') dajax.remove_css_class('#seld-error', 'hide') return dajax.json()
def mostrarDatosPrelacion(request): dajax = Dajax() id = request.POST['pre'] pre = Prelacion.objects.get(pk=id) #--- Se inicializan los valores de los campos del formulario dajax.clear("#cod_prela", "value") dajax.clear("#modificar", "value") dajax.script("document.getElementById('estatus').value='True'") dajax.script("document.getElementById('estatus').selected=true") dajax.script("document.getElementById('unidadcurr').value='0'") dajax.script("document.getElementById('unidadcurr').selected=true") #--- Se asignan los valores correspondiente de acuerdo al registro seleccionado dajax.assign("#cod_prela", "value", str(pre.cod_prela)) dajax.assign("#cod_prela", "readOnly", "readonly") dajax.assign("#modificar", "value", str(pre.cod_prela)) dajax.script("document.getElementById('estatus').value='"+str(pre.estatus)+"'") dajax.script("document.getElementById('estatus').selected=true") dajax.script("document.getElementById('unidadcurr').value='"+str(pre.unidadcurricular.id_unidad)+"'") dajax.script("document.getElementById('unidadcurr').selected=true") #--- Se elimina cualquier mensaje de error producido por eventos anteriores for i in range(1,4): dajax.clear("#e"+str(i), "innerHTML") return dajax
def saved_loc_show(request,container): dajax = Dajax() usr = get_user(request) dajax.clear('#'+str(container), 'innerHTML') addrs = Address.objects.filter(owner=usr) html = render_to_string('maps_app/saved_locations.html',{'addrs': addrs}) dajax.append('#'+str(container), 'innerHTML', html) return dajax.json()
def check_fixed_points_possible(request, category): dajax = Dajax() if Category.objects.get(id=category).fixed_points_possible is not None: dajax.assign('#id_item-points_possible', 'value', Category.objects.get(id=category).fixed_points_possible) dajax.assign('#id_item-points_possible', 'disabled', 'true') else: dajax.clear('#id_item-points_possible', 'disabled') return dajax.json()
def check_fixed_points_possible(request, category): dajax = Dajax() if Category.objects.get(id=category).fixed_points_possible is not None: # str() otherwise json.dumps complains that it can't handle Decimals dajax.assign('#id_item-points_possible', 'value', str(Category.objects.get(id=category).fixed_points_possible)) dajax.assign('#id_item-points_possible', 'disabled', 'true') else: dajax.clear('#id_item-points_possible', 'disabled') return dajax.json()
def check_fixed_points_possible(request, category): dajax = Dajax() if Category.objects.get(id=category).fixed_points_possible is not None: dajax.assign('#id_item-points_possible', 'value', Category.objects.get(id=category).fixed_points_possible) dajax.assign('#id_item-points_possible', 'disabled', 'true') else: dajax.clear('#id_item-points_possible', 'disabled') return dajax.json()
def signin_form_test(request, form, success_url=None): logger.debug("signin_form") dajax = Dajax() form = AuthenticationForm(deserialize_form(form)) if form.is_valid(): identification, password, remember_me = ( form.cleaned_data['identification'], form.cleaned_data['password'], form.cleaned_data['remember_me']) user = authenticate(identification=identification, password=password) if user.is_active: login(request, user) if remember_me: request.session.set_expiry( userena_settings.USERENA_REMEMBER_ME_DAYS[1] * 86400) else: request.session.set_expiry(0) # TODO: добавить сообщения if userena_settings.USERENA_USE_MESSAGES: logger.debug(u"Message: {0}".format( _('You have been signed in.'))) messages.success(request, _('You have been signed in.'), fail_silently=True) # TODO: изменить переадресацию после регистрации #redirect_to = signin_redirect(REDIRECT_FIELD_NAME, user) redirect_to = reverse('userena_profile_detail', kwargs={'username': user.username}) logger.debug("Redirect: {0}".format(redirect_to)) else: redirect_to = reverse('userena_disabled', kwargs={'username': user.username}) logger.debug("Redirect: {0}".format(redirect_to)) dajax.remove_css_class('#signin_form div', 'error') dajax.clear('#signin_form .help-inline', 'innerHTML') dajax.redirect(redirect_to, delay=10) else: dajax.remove_css_class('#signin_form div', 'error') dajax.clear('#signin_form .help-inline', 'innerHTML') dajax.add_css_class('#signin_form div.alert-error', 'hide') try: if form.errors['__all__'] is not None: dajax.remove_css_class('#signin_form div.alert-error', 'hide') dajax.assign( '#signin_form .alert-error', 'innerHTML', "<button type='button' class='close' data-dismiss='alert'>×</button>{0}" .format(form.errors['__all__'])) except Exception, e: pass for error in form.errors: dajax.add_css_class('#signin_form #gr_id_%s' % error, 'error') #dajax.remove_css_class('#signin_form #e_id_%s' % error, 'hide') dajax.assign('#signin_form #e_id_%s' % error, 'innerHTML', form.errors[error][0])
def update_check_new(request,val,resource,end_hour,end_min,start_hour,start_min,start_date,end_date,sel_date): dajax = Dajax() now=datetime.now().date() calendar_list = [] if resource !='0' and resource != None: infor=Resource.objects.get(id=resource) calendar_list=Booked_resource.objects.all().filter(Q(start_date__gte=now)|Q(end_date__gte=now)).filter(resource_id=resource) dajax.assign('#info', 'innerHTML',infor.Add_information) dajax.assign('#location', 'innerHTML',infor.location) dajax.remove_css_class('#options', 'hide') dajax.remove_css_class('#infos', 'hide') else: calendar_list=Booked_resource.objects.all().filter(Q(start_date__gte=now)|Q(end_date__gte=now)) dajax.add_css_class('#infos', 'hide') dajax.add_css_class('#options', 'hide') dajax.add_css_class('#options', 'hide') dajax.add_css_class('.alert-error', 'hide') dajax.clear('#errorList .showMessage','innerHTML') dajax.add_css_class('#mul_date','hide') dajax.add_css_class('#sel_date','hide') dajax.add_css_class('#infos', 'hide') dajax.add_css_class('#st_time', 'hide') dajax.add_css_class('#en_time', 'hide') dajax.add_data('','$("input[name=optionsRadios]:checked").val') dajax.add_data('checked','$("input[name=optionsRadios]:checked").removeAttr') dajax.clear('#status', 'innerHTML') calendar_lists=[] for calendar in calendar_list: calendar.start_datetime=datetime(calendar.start_date.year,calendar.start_date.month,calendar.start_date.day,calendar.start_time.hour,calendar.start_time.minute).isoformat()+".000000+0530" calendar.end_datetime=datetime(calendar.end_date.year,calendar.end_date.month,calendar.end_date.day,calendar.end_time.hour,calendar.end_time.minute).isoformat()+".000000+0530" calendar.start_date=calendar.start_date.strftime("%b %d") calendar.end_date=calendar.end_date.strftime("%b %d") calendar_lists.append(jsonpickle.encode(calendar,unpicklable=False)) dajax.add_data(calendar_lists,'update_bookings') val = int(val) d = dajax.json() s=None if val==1: if sel_date != '': s=time_check_new(request,end_hour,end_min,start_hour,start_min,sel_date) d = d[0:-1]+', '+s[1:] if val==2: if sel_date != '': s = date_check(request,sel_date) d = d[0:-1]+', '+s[1:] if val==3: if start_date != '' and end_date!= '': s = both_date_check(request,start_date,end_date) elif start_date!= '': s = start_date_check(request,start_date) elif end_date != '': s = end_date_check(request,end_date) if s: d = d[0:-1]+', '+s[1:] return d
def check_fixed_points_possible(request, category): dajax = Dajax() if Category.objects.get(id=category).fixed_points_possible is not None: # str() otherwise json.dumps complains that it can't handle Decimals dajax.assign( '#id_item-points_possible', 'value', str(Category.objects.get(id=category).fixed_points_possible)) dajax.assign('#id_item-points_possible', 'disabled', 'true') else: dajax.clear('#id_item-points_possible', 'disabled') return dajax.json()
def generateSchedule(request, form): dajax = Dajax() selectedCourses = Course.objects.none() timesUnavailable = [] # Get the data numClasses = int(form['numClasses']) if 'byCourse' in request.session: for courseTuple in request.session['byCourse']: selectedCourses = selectedCourses | Course.objects.filter(subject=courseTuple[0], number=courseTuple[1]) if 'byProf' in request.session: for profTuple in request.session['byProf']: selectedCourses = selectedCourses | Instructor.objects.get(userid=profTuple[1]).course.filter(subject=profTuple[0], number=profTuple[2]) if 'byId' in request.session: for idTuple in request.session['byId']: selectedCourses = selectedCourses | Course.objects.filter(id=idTuple[0]) if 'timesUnavailable' in request.session: for time in request.session['timesUnavailable']: timesUnavailable.append(time) if not selectedCourses: dajax.alert("Please select at least one class") dajax.script('$(\'#scheduleViewDiv\').activity(false);') dajax.remove_css_class('#scheduleViewDiv', 'emptySchedule'); return dajax.json() if numClasses > len(selectedCourses): dajax.alert("Only %i class(es) meet your course selection. Please specify more classes" % len(selectedCourses)) dajax.script('$(\'#scheduleViewDiv\').activity(false);') dajax.remove_css_class('#scheduleViewDiv', 'emptySchedule'); return dajax.json() # Process the data processedCourses = createOptimalSchedule(numClasses, selectedCourses, timesUnavailable) optimalCourses = list(set(processedCourses[1])) optimalInstructors = list(set(Instructor.objects.filter(course__in = optimalCourses))) optimalMeetingTimes = list(set(processedCourses[0])) optimalExamTimes = list(set(MeetingTime.objects.filter(course__in = optimalCourses).filter(Q(type="EXAM") | Q(type="MIDT")))) rejectedCourses = list(set(processedCourses[3])) rejectedInstructors = list(set(Instructor.objects.filter(course__in = rejectedCourses))) rejectedMeetingTimes = list(set(processedCourses[2])) processedData = {'optimalCourses': optimalCourses, 'optimalInstructors': optimalInstructors, 'optimalMeetingTimes': optimalMeetingTimes, 'optimalExamTimes': optimalExamTimes, 'rejectedCourses': rejectedCourses, 'rejectedInstructors': rejectedInstructors, 'rejectedMeetingTimes': rejectedMeetingTimes} request.session['processedData'] = processedData processedData['scheduledHTML'] = weeklySchedule(optimalMeetingTimes) # Serve the data dajax.assign('#scheduleViewDiv', 'innerHTML', render_to_response('schedulerSchedule.html', processedData).content) dajax.script('$(\'#scheduleViewDiv\').activity(false);') dajax.script('$(document).ready(jQueryEffects());') dajax.remove_css_class('#scheduleViewDiv', 'emptySchedule'); dajax.add_css_class('#scheduleViewDiv', 'fullSchedule'); dajax.clear('#warningDiv', 'innerHTML') return dajax.json()
def flushSessionData(request): dajax = Dajax() request.session.flush() dajax.assign('#addCourseList', 'innerHTML', '<span>There are no courses specified by subject and number.</span>') dajax.assign('#addCourseByProfList', 'innerHTML', '<span>There are no courses specified with respect to instructor.</span>') dajax.clear('#addCourseByIDList', 'innerHTML') dajax.assign('#addTimeList', 'innerHTML', '<span>There are no times specified.</span>') dajax.clear('#warningDiv', 'innerHTML') return dajax.json()
def assign_test(request,latest_act_id): dajax = Dajax() if latest_act_id is None: latest_act_id=0 action_list = list(Action.objects.user_stream_latest(request.user,latest_act_id)) size = len(action_list) if(size>0): dajax.clear('span.newentry', 'innerHTML') dajax.assign('span.newentry', 'innerHTML', simplejson.dumps(size)+" new activity recorded, refresh page to see details") dajax.remove_css_class('div.newentry', 'hidden') dajax.add_css_class('div.newentry', 'active') return dajax.json()
def search(request): import re #Some example data people = ('Tom','Susan','Peter','Rosa','Anna','Richard','Jorge','Mikel','Steve','Bill',) dajax = Dajax() dajax.clear('#results','innerHTML') #search from POST search = request.POST['s'].lower() for person in people: if re.match(r'.*%s.*' % search, person.lower()): dajax.append('#results','innerHTML','<li>%s</li>' % person) return dajax
def render_schedule( request, width, height, schedule_id ): if not 'instances' in request.session: request.session['instances'] = [] if not 'schedules' in request.session: request.session['schedules'] = [] dajax = Dajax() dajax.clear( '.entries', 'innerHTML' ) dayCode = { "M":"monday", "T":"tuesday", "W":"wednesday", "TH":"thursday", "F":"friday", "S":"saturday", "ARR":"null", } scheduleBlock = "<div class=\"class_block_wrapper\"><div class=\"class_block\" style=\"height: %s; top: %s; width: %s;\">%s</div></div>" if( len(request.session['schedules']) <= 0): return dajax.json() if( schedule_id >= len(request.session['schedules']) ): schedule_id = 0; if( schedule_id <= 0 ): schedule_id = len(request.session['schedules'])-1 for instance in request.session['schedules'][schedule_id]: course = Course.objects.filter(id=CourseInstance.objects.filter(id=instance)[0].course_id)[0] sections = Section.objects.filter(course_instance_id=instance) for section in sections: block = SectionTime.objects.filter(section_id=section)[0] day = block.day startTime = block.start_time.zfill(4) endTime = block.end_time.zfill(4) start = float(startTime[0:2]) + ( float(startTime[2:4]) / 60.0 ) end = float(endTime[0:2]) + ( float(endTime[2:4]) / 60.0 ) length = end-start dajax.append( '.'+dayCode[day]+' .entries', 'innerHTML', scheduleBlock % ( str(length*height)+"px", str( (start-8)*height) + "px", str(width)+"px",course.subject_no ) ) dajax.add_data( "", "SetScheduleEvents" ) request.session.modified = True return dajax.json()
def show_marker_options(request,container): dajax=Dajax() dajax.clear('#'+str(container), 'innerHTML') usr = get_user(request) markers =UsersMarkerOptions.objects.get(user=usr) markers_form = MarkersForm( initial = { 'showShared': markers.showShared, 'showSaved':markers.showSaved } ) html = render_to_string('maps_app/options.html', {'markers_form' : markers_form } ) dajax.append('#'+str(container), 'innerHTML', html) return dajax.json()
def render_schedule( request, width, height, schedule_id ): if not 'instances' in request.session: request.session['instances'] = [] if not 'schedules' in request.session: request.session['schedules'] = [] dajax = Dajax() dajax.clear( '.entries', 'innerHTML' ) dayCode = { "M":"monday", "T":"tuesday", "W":"wednesday", "TH":"thursday", "F":"friday", "S":"saturday", "ARR":"null", } scheduleBlock = "<div class=\"class_block_wrapper\"><div class=\"class_block\" style=\"height: %s; top: %s; width: %s;\">%s</div></div>" if( len(request.session['schedules']) <= 0): return dajax.json() if( schedule_id >= len(request.session['schedules']) ): schedule_id = 0; if( schedule_id <= 0 ): schedule_id = len(request.session['schedules'])-1 for instance in request.session['schedules'][schedule_id]: course = Course.objects.filter(id=CourseInstance.objects.filter(id=instance)[0].course_id)[0] sections = Section.objects.filter(course_instance_id=instance) for section in sections: block = SectionTime.objects.filter(section_id=section)[0] day = block.day startTime = block.start_time.zfill(4) endTime = block.end_time.zfill(4) start = float(startTime[0:2]) + ( float(startTime[2:4]) / 60.0 ) end = float(endTime[0:2]) + ( float(endTime[2:4]) / 60.0 ) length = end-start dajax.append( '.'+dayCode[day]+' .entries', 'innerHTML', scheduleBlock % ( str(length*height)+"px", str( (start-8)*height) + "px", str(width)+"px",course.subject_no ) ) dajax.add_data( "", "SetScheduleEvents" ) request.session.modified = True return dajax.json()
def shared_loc_show(request,container): dajax=Dajax() dajax.clear('#'+str(container), 'innerHTML') usr = get_user(request) shared = SharedInfo.objects.filter(shared_user = usr) addrs = [] for i in shared: addrs.append(i.addr) html = render_to_string('maps_app/shared_locations.html', {'addrs' : addrs } ) dajax.append('#'+str(container), 'innerHTML', html) return dajax.json()
def deleteCourseByIDFromSession(request, courseID, subj, numb, titl, sect): dajax = Dajax() sesList = request.session['byId'] sesList.remove((int(courseID), subj, numb, titl, sect)) request.session['byId'] = sesList out = [] for i in request.session['byId']: out.append("<li>%s %s - %s, %s <a onclick=\"deleteCourseByIDFromSession('%s', '%s', '%s', '%s', '%s')\">(remove)</a></li>" % (i[1], i[2], i[3], i[4], i[0], i[1], i[2], i[3], i[4])) dajax.assign('#addCourseByIDList', 'innerHTML', ''.join(out)) dajax.clear('#warningDiv', 'innerHTML') return dajax.json()
def signup_form(request, form, success_url=None): logger.debug("signup_form") dajax = Dajax() signup_form = SignupForm if userena_settings.USERENA_WITHOUT_USERNAMES: signup_form = SignupFormOnlyEmail form = signup_form(deserialize_form(form)) if form.is_valid(): user = form.save() # Send the signup complete signal userena_signals.signup_complete.send(sender=None, user=user) if success_url: redirect_to = success_url else: redirect_to = reverse('userena_signup_complete', kwargs={'username': user.username}) # A new signed user should logout the old one. if request.user.is_authenticated(): logout(request) dajax.remove_css_class('#sigup_form div', 'error') dajax.clear('#sigup_form .help-inline', 'innerHTML') dajax.redirect(redirect_to, delay=10) #dajax.alert("Form is_valid(), your username is: %s" % form.cleaned_data.get('username')) else: dajax.remove_css_class('#sigup_form div', 'error') dajax.clear('#sigup_form .help-inline', 'innerHTML') dajax.clear('#sigup_form .alert-error', 'innerHTML') dajax.add_css_class('#sigup_form div.alert-error', 'hide') try: if form.errors['__all__'] is not None: dajax.remove_css_class('#sigup_form div.alert-error', 'hide') logger.debug(">>>>>>>>>>>> %s" % form.errors['__all__']) dajax.assign( '#sigup_form .alert-error', 'innerHTML', "<button type='button' class='close' data-dismiss='alert'>×</button>{0}" .format(form.errors['__all__'])) except Exception, e: pass for error in form.errors: dajax.add_css_class('#sigup_form #gr_id_%s' % error, 'error') #dajax.remove_css_class('#sigup_form #e_id_%s' % error, 'hide') dajax.assign('#sigup_form #e_id_%s' % error, 'innerHTML', form.errors[error][0])
def addUnavailableToSession(request, form): dajax = Dajax() listOfDays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] sessionList = [] d = int(form['day']) t1 = time(int(form['startHour']), int(form['startMinute'])) t2 = time(int(form['endHour']), int(form['endMinute'])) timeTuple = (d, t1, t2, listOfDays[d]) if 'timesUnavailable' in request.session: if goingBackInTime(t1, t2): dajax.assign('#warningDiv', 'innerHTML', 'The entered time\'s start time is larger than its end time!') return dajax.json() if t1.hour == t2.hour: if t1.minute == t2.minute: dajax.assign('#warningDiv', 'innerHTML', 'The entered time\'s start time is the same as its end time!') return dajax.json() if overlappingTimes(d, t1, t2, request.session['timesUnavailable']): dajax.assign('#warningDiv', 'innerHTML', 'The entered time overlaps with a time already in the list!') return dajax.json() sessionList = request.session['timesUnavailable'] sessionList.append(timeTuple) else: sessionList.append(timeTuple) request.session['timesUnavailable'] = sessionList out = [] for i in request.session['timesUnavailable']: if int(i[1].minute) < 10: firstMinute = str(i[1].minute) + '0' else: firstMinute = str(i[1].minute) if int(i[2].minute) < 10: lastMinute = str(i[2].minute) + '0' else: lastMinute = str(i[2].minute) out.append("<li>%s from %s:%s %s to %s:%s %s <a onclick=\"Dajaxice.scheduler.deleteUnavailableFromSession(Dajax.process, { 'day':'%s', 'startMinute':'%s', 'startHour':'%s', 'endMinute':'%s', 'endHour':'%s' })\">(remove)</a></li>" % (i[3], changeFrom24To12(i[1].hour), firstMinute, hourIsAMorPM(i[1].hour), changeFrom24To12(i[2].hour), lastMinute, hourIsAMorPM(i[2].hour), i[0], i[1].minute, i[1].hour, i[2].minute, i[2].hour)) dajax.assign('#addTimeList', 'innerHTML', ''.join(out)) dajax.clear('#warningDiv', 'innerHTML') return dajax.json()
def end_date_check(request,end_date): dajax = Dajax() now=datetime.now().date() st = [] end_date = datetime.strptime(end_date,"%Y-%m-%d").date() if now<end_date: dajax.add_css_class('#endd-error', 'hide') dajax.remove_css_class('#startd-error', 'hide') dajax.assign('#errorList .showMessage','innerHTML','Kindly choose start date') dajax.clear('#status','innerHTML') else: dajax.assign('#errorList .showMessage','innerHTML','You can not book for the past or today, Kindly select some other end date') dajax.clear('#status','innerHTML') dajax.remove_css_class('#endd-error', 'hide') dajax.remove_css_class('#errorList', 'hide') return dajax.json()
def assign_test(request, latest_act_id): dajax = Dajax() if latest_act_id is None: latest_act_id = 0 action_list = list( Action.objects.user_stream_latest(request.user, latest_act_id)) size = len(action_list) if (size > 0): dajax.clear('span.newentry', 'innerHTML') dajax.assign( 'span.newentry', 'innerHTML', simplejson.dumps(size) + " new activity recorded, refresh page to see details") dajax.remove_css_class('div.newentry', 'hidden') dajax.add_css_class('div.newentry', 'active') return dajax.json()
def eliminarDatos(request): """ @note: Función que permite eliminar los datos del registro seleccionado @author: T.S.U. Roldan D. Vargas G. @contact: [email protected] @return: Retorna un objeto dajax con un mensaje al usuario que le indica el estatus de la eliminación de los registros """ dajax = Dajax() opcion = request.POST['opcion'] id = request.POST['id'] objetos = [] try: if opcion=="pensum": pe = Pensum.objects.get(pk=id) pe.delete() objetos = Pensum.objects.all() elif opcion=="eje": eje = Eje_Curricular.objects.get(pk=id) eje.delete() objetos = Eje_Curricular.objects.all() elif opcion=="cond": cond = Condicion_Unidad.objects.get(pk=id) cond.delete() objetos = Condicion_Unidad.objects.all() elif opcion=="tpu": tpu = Tipo_Unidad.objects.get(pk=id) tpu.delete() objetos = Tipo_Unidad.objects.all() elif opcion=="unidad": und = Unidad_Curricular.objects.get(pk=id) und.delete() objetos = Unidad_Curricular.objects.all() elif opcion=="pre": pre = Prelacion.objects.get(pk=id) pre.delete() objetos = Prelacion.objects.all() elif opcion=="modulo": mod = Modulo_Curricular.objects.get(pk=id) mod.delete() objetos = Modulo_Curricular.objects.all() dajax.remove("#"+id) if not objetos: dajax.clear("#registros","innerHTML") dajax.alert(_(u"Registros eliminados con éxito")) except Exception, e: dajax.alert(_(u"Los registros no se pueden eliminar. Error: ")+e.message)
def signin_form_test(request, form, success_url=None): logger.debug("signin_form") dajax = Dajax() form = AuthenticationForm(deserialize_form(form)) if form.is_valid(): identification, password, remember_me = (form.cleaned_data['identification'], form.cleaned_data['password'], form.cleaned_data['remember_me']) user = authenticate(identification=identification, password=password) if user.is_active: login(request, user) if remember_me: request.session.set_expiry(userena_settings.USERENA_REMEMBER_ME_DAYS[1] * 86400) else: request.session.set_expiry(0) # TODO: добавить сообщения if userena_settings.USERENA_USE_MESSAGES: logger.debug(u"Message: {0}".format(_('You have been signed in.'))) messages.success(request, _('You have been signed in.'), fail_silently=True) # TODO: изменить переадресацию после регистрации #redirect_to = signin_redirect(REDIRECT_FIELD_NAME, user) redirect_to = reverse('userena_profile_detail', kwargs={'username': user.username}) logger.debug("Redirect: {0}".format(redirect_to)) else: redirect_to = reverse('userena_disabled', kwargs={'username': user.username}) logger.debug("Redirect: {0}".format(redirect_to)) dajax.remove_css_class('#signin_form div', 'error') dajax.clear('#signin_form .help-inline', 'innerHTML') dajax.redirect(redirect_to, delay=10) else: dajax.remove_css_class('#signin_form div', 'error') dajax.clear('#signin_form .help-inline', 'innerHTML') dajax.add_css_class('#signin_form div.alert-error', 'hide') try: if form.errors['__all__'] is not None: dajax.remove_css_class('#signin_form div.alert-error', 'hide') dajax.assign('#signin_form .alert-error', 'innerHTML', "<button type='button' class='close' data-dismiss='alert'>×</button>{0}".format(form.errors['__all__'])) except Exception, e: pass for error in form.errors: dajax.add_css_class('#signin_form #gr_id_%s' % error, 'error') #dajax.remove_css_class('#signin_form #e_id_%s' % error, 'hide') dajax.assign('#signin_form #e_id_%s' % error, 'innerHTML', form.errors[error][0])
def deleteCourseFromSession(request, course, number, title): dajax = Dajax() sesList = request.session['byCourse'] sesList.remove((course, number, title)) request.session['byCourse'] = sesList out = [] for i in request.session['byCourse']: out.append("<li>%s %s - %s <a onclick=\"deleteCourseFromSession('%s', '%s', '%s')\">(remove)</a></li>" % (i[0], i[1], i[2], i[0], i[1], i[2])) if not request.session['byCourse']: out.append("<span>There are no courses specified by subject and number.</span>") dajax.assign('#addCourseList', 'innerHTML', ''.join(out)) dajax.clear('#warningDiv', 'innerHTML') return dajax.json()
def deleteCourseByProfFromSession(request, course, prof, number, title, firstName, lastName): dajax = Dajax() sesList = request.session['byProf'] sesList.remove((course, prof, number, title, firstName, lastName)) request.session['byProf'] = sesList out = [] for i in request.session['byProf']: out.append("<li>%s %s - %s, taught by: %s %s <a onclick=\"deleteCourseByProfFromSession('%s', '%s', '%s', '%s', '%s', '%s')\">(remove)</a></li>" % (i[0], i[2], i[3], i[4], i[5], i[0], i[1], i[2], i[3], i[4], i[5])) if not request.session['byProf']: out.append("<span>There are no courses specified with respect to instructor.</span>") dajax.assign('#addCourseByProfList', 'innerHTML', ''.join(out)) dajax.clear('#warningDiv', 'innerHTML') return dajax.json()
def clear_test(request): dajax = Dajax() dajax.clear('#block02 li', 'innerHTML') dajax.append('#console', 'innerHTML', "dajax.clear('#block02 li','innerHTML')<br/>") return dajax.json()
def clear(request): dajax = Dajax() dajax.clear('#menu', 'innerHTML') return dajax.json()