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
示例#3
0
文件: ajax.py 项目: roldandvg/esmayoy
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)
示例#4
0
文件: ajax.py 项目: roldandvg/esmayoy
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
示例#5
0
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>&nbsp;%s</td><td>&nbsp;%s</td><td>&nbsp%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()
示例#6
0
文件: ajax.py 项目: cseanitc/RMS
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()
示例#7
0
文件: ajax.py 项目: webrulon/get2
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()
示例#8
0
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()
示例#9
0
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()
示例#10
0
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()
示例#11
0
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()
示例#12
0
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()
示例#13
0
文件: ajax.py 项目: cseanitc/RMS
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()
示例#14
0
文件: ajax.py 项目: roldandvg/esmayoy
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
示例#15
0
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()
示例#16
0
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()
示例#17
0
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()
示例#18
0
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()
示例#19
0
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])
示例#20
0
文件: ajax.py 项目: cseanitc/RMS
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
示例#21
0
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()
示例#22
0
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()
示例#23
0
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()
示例#25
0
文件: ajax.py 项目: webiest/dajax
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
示例#26
0
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()
            
示例#27
0
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()
示例#28
0
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()
示例#29
0
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()
示例#30
0
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()
示例#31
0
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])
示例#32
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()
示例#33
0
文件: ajax.py 项目: cseanitc/RMS
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()
示例#35
0
文件: ajax.py 项目: roldandvg/esmayoy
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)
示例#36
0
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])
示例#37
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()
示例#38
0
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()
示例#39
0
def clear_test(request):
    dajax = Dajax()
    dajax.clear('#block02 li', 'innerHTML')
    dajax.append('#console', 'innerHTML', "dajax.clear('#block02 li','innerHTML')<br/>")
    return dajax.json()
示例#40
0
def clear(request):
    dajax = Dajax()
    dajax.clear('#menu', 'innerHTML')
    return dajax.json()