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 save_location(request,addr,container): dajax = Dajax() usr = get_user(request) loc, (lat,lng) = get_coords(addr) location = Address(owner =usr, lat = lat , lng = lng, addr = addr) location.save() markers =UsersMarkerOptions.objects.get(user=usr) print markers.window if markers.window != 0: return dajax.json() location_entry = render_to_string('maps_app/saved_location_node.html',{'addr': location }) options = UsersMarkerOptions.objects.get(user=usr) if options.showSaved==True: mtitle = str(location.addr) marker_id = "saved_entry_"+str(location.id) points = {'lat':location.lat,'lng':location.lng,'mtitle':mtitle, 'marker_id' : marker_id } dajax.add_data(points,'add_marker') dajax.append('#'+str(container),'innerHTML',location_entry) return dajax.json()
def bug_form_submit(request, form): dajax = Dajax() form = BugForm(deserialize_form(form)) if form.is_valid(): dajax.remove_css_class('#bug-form input', 'error') dajax.remove_css_class('#bug-form select', 'error') dajax.remove_css_class('#bug-form textarea', 'error') dajax.remove('.error-message') dajax.alert('Forms valid') else: dajax.remove_css_class('#bug-form input', 'error') dajax.remove_css_class('#bug-form select', 'error') dajax.remove_css_class('#bug-form textarea', 'error') dajax.remove('.error-message') for error in form.errors: dajax.add_css_class('#id_{0}'.format(error), 'error') for field in form: for error in field.errors: message = '<div class="error-message">* {0}</div>'.format( error) dajax.append('#id_{0}_wrapper'.format(field.name), 'innerHTML', message) # non field errors if form.non_field_errors(): message = '<div class="error-message"><small>{0}</small></div>'.format( form.non_field_errors()) dajax.append('#non-field-errors', 'innerHTML', message) return dajax.json()
def updateSummary(request): """ This function updates the table in summary div whenever a new group/core is added or when an existing group/core is edited or deleted """ dajax = Dajax() dajax.assign( "#summary", 'innerHTML', "<table border='1'><thead><tr><th>S.No</th><th>Group Name</th><th>Cores</th></tr></thead><tbody id='groups'>" ) groups = Group.objects.order_by('id').all()[1:] for g in groups: dajax.append( "#groups", 'innerHTML', "<tr><td>" + str(g.id - 1) + "</td><td class='grps' id=" + g.name + "><a href=" + '#editgroup/' + str(g.id) + '/' + ">" + g.name + "</a></td><td id=" + str(g.id) + "></td></tr>") cores = User.objects.filter(groups__name=g.name) for c in cores: if c.get_profile().is_core: dajax.append( "#" + str(g.id), 'innerHTML', "<li class='cores' id=" + str(c.username) + "><a href=" + '#editcore/' + str(c.id) + '/' + ">" + str(c) + "</a>") dajax.assign(".bbq-item", "innerHTML", "<i>Space for displaying forms</i>") 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 bug_form_submit(request, form): dajax = Dajax() form = BugForm(deserialize_form(form)) if form.is_valid(): dajax.remove_css_class('#bug-form input', 'error') dajax.remove_css_class('#bug-form select', 'error') dajax.remove_css_class('#bug-form textarea', 'error') dajax.remove('.error-message') dajax.alert('Forms valid') else: dajax.remove_css_class('#bug-form input', 'error') dajax.remove_css_class('#bug-form select', 'error') dajax.remove_css_class('#bug-form textarea', 'error') dajax.remove('.error-message') for error in form.errors: dajax.add_css_class('#id_{0}'.format(error), 'error') for field in form: for error in field.errors: message = '<div class="error-message">* {0}</div>'.format(error) dajax.append('#id_{0}_wrapper'.format(field.name), 'innerHTML', message) # non field errors if form.non_field_errors(): message = '<div class="error-message"><small>{0}</small></div>'.format(form.non_field_errors()) dajax.append('#non-field-errors', 'innerHTML', message) return dajax.json()
def getobjects(request, userid, slug, sha): userid = int(userid) slug = escape(slug) obj = func.getRepoObjorNone(userid, slug) sha = escape(sha) if not obj: return dajax = Dajax() trees = func.getAllObjects(obj.get('repoObj'), "tree", sha) blobs = func.getAllObjects(obj.get('repoObj'), "blob", sha) icon = "<i class='icon-folder-close'></i>" tablerow = [ "<tr><td id='%s' class='tree'>%s %s</td></tr>" % (obj["sha"], icon, obj["name"]) for obj in trees ] dajax.append("#filesbody", "innerHTML", ''.join(tablerow)) icon = "<i class='icon-file'></i>" tablerow = [ "<tr><td id='%s' class='blob'>%s %s</td></tr>" % (obj["sha"], icon, obj["name"]) for obj in blobs ] dajax.append("#filesbody", "innerHTML", ''.join(tablerow)) dajax.add_data("", "setEvents") return dajax.json()
def add_trip(request,agent_id,country_ids): dajax = Dajax() dajax.assign('#meeage-alert', 'innerHTML', '') if agent_id and len(country_ids)!= '': agent = Agent.objects.get(id=agent_id) for x in range(0, len(country_ids)): trip = Trip() trip.agent = agent trip.country = Country_Detail.objects.get(id=country_ids[x]) trip.save() print "suceeeesssssssssssss" dajax.append('#meeage-alert','innerHTML', ''' <div class="alert alert-success"> <strong>Success!</strong>Suceefully added new trip </div>''') dajax.script("LocatonReload();") else: dajax.append('#meeage-alert','innerHTML', '''<div class="alert alert-danger"><strong>Danger!</strong> Something went wrong </div>''') return dajax.json()
def newProject(request, projectname, monthlygoal): print projectname project = Project() project.user = request.user project.name = projectname if monthlygoal != "": project.monthlygoal = int(monthlygoal) goal = project.monthlygoal else: goal = "-" print project project.save() print "qwe" dajax = Dajax() dajax.remove("#newrow") row = """<tr id="project{0}"> <td>{1}</td> <td>{2}</td> <td>0</td> <td><a href="javascript:void(0)" onClick="Dajaxice.timemanager.removeProject(removeRow, {{'project': '{0}'}});" class="remove"><i class="icon-remove pull-right"></i></a> <a href="javascript:void(0)" onClick="" class="edit"><i class="icon-pencil pull-right"></i></a></td> </tr>""".format(project.id, projectname, goal) print row dajax.append("#projecttable", "innerHTML", row) dajax.script("$('#newprojectbutton').show();") return dajax.json()
def add_corrected_time(request, uid, date, time): dajax = Dajax() try: #time has simple hh:mm - need convert into YYY-MM-DD HH:MM:SS -> int format sdate = date.split("-") stime = time.split(":") yy = int(sdate[0]) mm = int(sdate[1]) dd = int(sdate[2]) h = int(stime[0]) m = int(stime[1]) dt = datetime.datetime(yy, mm, dd, h, m) dt = dt - datetime.timedelta(hours=3) #GMS+3 offset for UTC time sdate = dt.strftime('%Y-%m-%d %H:%M') corrected_time = utils.get_unix_strdtime(sdate) utime = UserTime(user_id=uid, time=corrected_time) utime.save() #dajax.alert(utime.id) #get the list of updated hours #and add all of these hours into the new div list msg = '<div style="display: inline; background-color: #FF9999; padding: 5px; width: 60px; height: 10px; border: groove 1px gray;">%02d:%02d</div> ' % ( h, m) dajax.append('#missed_time_area', 'innerHTML', msg) except ValueError: dajax.alert( 'Minutes or hours are wrong! Hours [0..23], minutes [0..59]') return dajax.json()
def save_query(request, name, form, field_filters_dict, query_str): dajax = Dajax() form_data = deserialize_form(form) organism = form_data.get('organism') display_fields = form_data.getlist('display_fields') attributes_list = form_data.getlist('attributes_list') paginate_by = form_data.get('paginate_by') sort_by = form_data.get('sort_by') try: saved_query = SavedQuery.objects.create( type_query = 'get_objects', name = name, user = request.user, organism_id = organism, display_fields = display_fields, attributes_list = attributes_list, filter_fields = field_filters_dict, query_str = query_str, paginate_by = paginate_by, sort_by = sort_by ) query_item = render_to_string('saved_query_components.html', {'query': saved_query}) dajax.append('.js_query_list', 'innerHTML', query_item) template_context = {'success_message': 'Query "{}" successfully saved.'.format(name)} dajax.script('save_query_success();') except IntegrityError: template_context = {'error_message': 'Name for query must be unique!'} dajax.script('save_query_error();') message_body = render_to_string('components/alert_messages.html', template_context) dajax.assign('.extra-message-block', 'innerHTML', message_body) dajax.script('show_messages();') dajax.script('stop_show_loading();') return dajax.json()
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 timeline_details(request, tl_id): tl = models.Timeline.objects.get(pk=tl_id) dajax = Dajax() context = RequestContext(request) dajax.append("#accordion", "innerHTML", tl.baby.to_html(context)) milestones = [ms.to_html(context) for ms in tl.get_sorted_milestones()] dajax.append("#babydetails_" + str(tl_id), "innerHTML", "\n".join(milestones)) dajax.addData("", "load_finished") return dajax.json()
def revision_form_submit(request, form, code): dajax = Dajax() form = RevisionForm(deserialize_form(form)) dajax.remove_css_class('#revision-form textarea', 'error') dajax.remove('.error-message') if form.is_valid(): commit_message = form.cleaned_data['commit_message'] username, email = request.user.username, request.user.email # push changes to temp repo # update_file returns True if the push is success. commit_sha = utils.update_file( request.session['filepath'], commit_message, base64.b64encode(code), [username, email], main_repo=False, ) if commit_sha is not None: # everything is fine # save the revision info in database rev = TextbookCompanionRevision( example_file_id=request.session['example_file_id'], commit_sha=commit_sha, commit_message=commit_message, committer_name=username, committer_email=email, ) rev.save(using='scilab') dajax.alert( 'submitted successfully! \nYour changes will be visible after review.' ) dajax.script('$("#submit-revision-wrapper").trigger("close")') else: for error in form.errors: dajax.add_css_class('#id_{0}'.format(error), 'error') for field in form: for error in field.errors: message = '<div class="error-message">* {0}</div>'.format( error) dajax.append('#id_{0}_wrapper'.format(field.name), 'innerHTML', message) # non field errors if form.non_field_errors(): message = '<div class="error-message"><small>{0}</small></div>'.format( form.non_field_errors()) dajax.append('#non-field-errors', 'innerHTML', message) return dajax.json()
def add_to_compare(request, person_id): person_id = int(person_id) person = get_object_or_404(models.Person, id=person_id) compare_set = request.session.get(common.COMPARE_LIST_SESSION_KEY, set()) dajax = Dajax() if person_id not in compare_set: compare_set.add(person_id) request.session[common.COMPARE_LIST_SESSION_KEY] = compare_set dajax.append("#compare-list-body", "innerHTML", person_compare_row(person)) dajax.add_css_class("#add-to-compare-person-%s-button" % person_id, "hide") dajax.remove_css_class("#compare-persons-block", "hide") return dajax.json()
def philosophy(req, form, is_str = False): if is_str: next_url = form else: next_url = form['first_link'].replace(' ','_') next_url = generate_next_url(next_url) good_next_url = next_url.replace('_', ' ') dajax = Dajax() dajax.append('#links', 'innerHTML', '<li>' + good_next_url) dajax.script('$("#loading").hide();') if next_url != 'Philosophy': dajax.add_data(next_url, 'go_again') 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 initial_opiton(request): dajax = Dajax() account = Account.objects.get(user=request.user) wx = WXAccount.objects.get(account=account) pages = Page.objects.filter(wx=wx, enable=True) links = [] options = [] output = [] for page in pages: options.append((page.pk, page.tab_name, get_page_url(page))) #get the links which are already stored in HomePage. if page.real_type == ContentType.objects.get_for_model(HomePage): homepage = page.cast() links = [homepage.link1, homepage.link2, homepage.link3, homepage.link4] if page.real_type == ContentType.objects.get_for_model(TrendsApp): items = page.cast().trenditem_set.all() for item in items: options.append((item.pk, '-'+item.title, get_item_url(item))) elif page.real_type == ContentType.objects.get_for_model(CaseApp): items = page.cast().caseitem_set.all() for item in items: options.append((item.pk,'-'+ item.title, get_item_url(item))) elif page.real_type == ContentType.objects.get_for_model(JoinApp): items = page.cast().joinitem_set.all() for item in items: options.append((item.pk, '-'+item.job_title, get_item_url(item))) elif page.real_type == ContentType.objects.get_for_model(ProductApp): items = page.cast().productitem_set.all() for item in items: options.append((item.pk, '-'+item.title, get_item_url(item))) else: continue for option in options: if links[0] and links[0] in option: dajax.assign("#link1", "innerHTML","<option value='%s'>%s</option>" % (option[2], option[1])) if links[1] and links[1] in option: dajax.assign("#link2", "innerHTML","<option value='%s'>%s</option>" % (option[2], option[1])) if links[2] and links[2] in option: dajax.assign("#link3", "innerHTML","<option value='%s'>%s</option>" % (option[2], option[1])) if links[3] and links[3] in option: dajax.assign("#link4", "innerHTML","<option value='%s'>%s</option>" % (option[2], option[1])) output.append("<option value='%s'>%s</option>" % (option[2], option[1])) links_id= ["#link1", "#link2", "#link3", "#link4"] for link in links_id: dajax.append(link, 'innerHTML', ''.join(output)) return dajax.json()
def loaddata(request): print "inside load data^^^^^^^^^^^^^^^^^" dajax = Dajax() dajax.assign('#load_data', 'innerHTML', '') dajax.assign('#side_agent', 'innerHTML', '') dajax.assign('#phonecode', 'innerHTML', '') countrys = Country_Detail.objects.all() dajax.append('#phonecode','innerHTML', '''<option value="all">All</option>''') for country in countrys: dajax.append('#phonecode','innerHTML', '''<option value="{0}">{0}</option>'''.format(country.phone_code,)) agents = Agent.objects.all() for agent in agents: dajax.append('#load_data','innerHTML', '''<tr id="trip_"+{0}> <td><input type="checkbox" id="checktrip_"+{0}></td> <td><a href="/details/{5}">{1}</a></td> <td>{2}</td> <td>{3}</td> <td>{4}</td> </tr> '''.format(agent.id,agent.first_name+agent.last_name,agent.email,agent.contact_no,agent.country.name,agent.slug)) dajax.append('#side_agent','innerHTML', ''' <li><a href="#">{0}</a></li>'''.format(agent.first_name+agent.last_name,)) 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 updateSummary(request): """ This function updates the table in summary div whenever a new event/coord is added or when an existing event/coord is edited or deleted """ dajax = Dajax() dajax.assign("#summary",'innerHTML',"<table border='1'><thead><tr><th>S.No</th><th>Event Name</th><th>Coords</th></tr></thead><tbody id='event'>") event=Event.objects.order_by('id').all() for e in event: dajax.append("#event",'innerHTML',"<tr><td>"+str(e.id)+"</td><td onclick=\'displayevent("+str(e.id)+");\' class='grps' id="+e.title+"><a href=#>"+e.title+"</a></td><td id="+str(e.id)+"></td></tr>") coords=UserProfile.objects.filter(is_coord_of__title=e.title) for c in coords: dajax.append("#"+str(e.id),'innerHTML',"<li onclick=\'displayCoord("+str(c.user.id)+");\' class='coords' id="+str(c.user.username)+"><a href=#>"+str(c.user)+"</a>") return dajax.json()
def get_progress(request): dajax = Dajax() if len(ajax.progress) > 0: data = '\n'.join(ajax.progress) data += '\n' else: # data = _('No Action') data = "" dajax.append('#id_ajax_progress', 'value', data) dajax.assign('#id_ajax_finished', 'value', int(ajax.finished * 100)) ajax.progress = [] 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 tipo_turno_form(request, form): dajax = Dajax() form = TipoTurnoForm(deserialize_form(form)) if form.is_valid(): f=form.save() tipo_turno=TipoTurno.objects.get(id=f.id) mansioni=Mansione.objectsGet.all() html_dettagli = render_to_string( 'elenco_tipo_turno/dettagli.html', { 'tipo_turno': tipo_turno, 'mansioni': mansioni } ) dajax.append('#elenco', 'innerHTML', html_dettagli) dajax.script('$("#form_tipo_turno" ).dialog("close"); $( "div#tipo_turno-'+str(f.id)+'.riga a").button(); $( ".dettagli_requisito").hide();') else: dajax.remove_css_class('#form_tipo_turno input', 'error') for error in form.errors: dajax.add_css_class('#id_%s' % error, 'ui-state-error') return dajax.json()
def disp(request, turno_id, mansione_id, persona_id, disp): dajax = Dajax() #pdb.set_trace() p=Persona.objects.get(id=persona_id) t=Turno.objects.get(id=turno_id) if Disponibilita.objects.filter(persona=p,turno=t, tipo="Disponibile" ).exists(): d=Disponibilita.objects.get(persona=p,turno=t, tipo="Disponibile" ) dajax.remove('#disponibile-'+str(d.id)) nuova_disponibilita(request, turno_id, mansione_id, persona_id, disp) d=Disponibilita.objects.get(persona=p,turno=t) if d.tipo=="Disponibile": dajax.append('#disponibili', 'innerHTML', '<span id="disponibile-'+str(d.id)+'" class="disponibile">'+str(d.persona)+' ('+str(d.mansione)+')</span>') #dajax.alert(disponibilita) dajax.script('noty({"text":"Aggiornata disponibilita per '+str(p)+'","layout":"bottomRight","type":"success","animateOpen":{"height":"toggle"},"animateClose":{"height":"toggle"},"speed":500,"timeout":5000,"closeButton":true,"closeOnSelfClick":true,"closeOnSelfOver":false});') return dajax.json()
def mansione_form(request, form): dajax = Dajax() form = MansioneForm(deserialize_form(form)) if form.is_valid(): i = form.save() dajax.script('$("#form_mansione" ).dialog("close");') #pdb.set_trace() html = '<option value="' + str(i.id) + '">' + str(i.descrizione) + '</option>' dajax.append('#id_competenze', 'innerHTML', html) #dajax.alert("aggiunto!") else: dajax.remove_css_class('#form_tipo_turno input', 'error') for error in form.errors: # error il nome del campo dajax.add_css_class('#id_%s' % error, 'ui-state-error') return dajax.json()
def updateSummary(request): """ This function updates the table in summary div whenever a new group/core is added or when an existing group/core is edited or deleted """ dajax = Dajax() dajax.assign("#summary",'innerHTML',"<table border='1'><thead><tr><th>S.No</th><th>Group Name</th><th>Cores</th></tr></thead><tbody id='groups'>") groups=Group.objects.order_by('id').all()[1:] for g in groups: dajax.append("#groups",'innerHTML',"<tr><td>"+str(g.id-1)+"</td><td class='grps' id="+g.name+"><a href="+'#editgroup/'+str(g.id)+'/'+">"+g.name+"</a></td><td id="+str(g.id)+"></td></tr>") cores=User.objects.filter(groups__name=g.name) for c in cores: if c.get_profile().is_core: dajax.append("#"+str(g.id),'innerHTML',"<li class='cores' id="+str(c.username)+"><a href="+'#editcore/'+str(c.id)+'/'+">"+str(c)+"</a>") dajax.assign(".bbq-item","innerHTML","<i>Space for displaying forms</i>"); return dajax.json()
def mansione_form(request, form): dajax = Dajax() form = MansioneForm(deserialize_form(form)) if form.is_valid(): i = form.save() dajax.script('$("#form_mansione" ).dialog("close");') #pdb.set_trace() html = '<option value="' + str(i.id) + '">' + str(i.descrizione) + '</option>' dajax.append('#id_competenze', 'innerHTML', html) #dajax.alert("aggiunto!") else: dajax.remove_css_class('#form_tipo_turno input', 'error') for error in form.errors: # error il nome del campo dajax.add_css_class('#id_%s' % error, 'ui-state-error') dajax.script("$('#loading').addClass('hidden');") return dajax.json()
def add_tag(self, slug=None, path=None, tag=None): dajax = Dajax() if not slug or not path or not tag: return dajax.json() t = Tag() t.page = os.path.join(slug, path) t.tag = tag t.save() tmpl = Template(TEMPLATE_TAG) ctx = Context({'tag': t}) dajax.append('#tags', 'innerHTML', tmpl.render(ctx)) return dajax.json()
def new_subset(request, subsetform): dajax = Dajax() user = request.user form_dic = deserialize_form(subsetform) try: qs = QuestionSet.objects.get(id = form_dic['questionset']) if user.id != qs.owner.id: dajax.alert('Sorry, you do not have the permission to do the action') return dajax.json() subset = QuestionSubSet(name = form_dic['name'], intro = form_dic['intro'], container = qs) subset.save() dajax.append('#subset_listing', 'innerHTML', '<ul><h5><a href="/qb/qs/'+str(qs.id)+'/'+str(subset.id)+'/">'+ subset.name +'</a></h5><hr></ul>') #dajax.script('onsubset_submission_success('+str(subset.id) +','+ subset.name+');') except QuestionSet.DoesNotExist: dajax.alert('Some Error') return dajax.json()
def user_register(request, form): dajax = Dajax() if request.user.is_anonymous(): form = UserRegisterForm(deserialize_form(form)) if form.is_valid(): form.save() dajax.remove_css_class('#register-form div', 'has-error') dajax.remove('.error-message') dajax.redirect('/call-for-proposals') else: dajax.remove_css_class('#register-form div', 'has-error') dajax.remove('.error-message') for error in form.errors: dajax.add_css_class('#reg_wrap_id_%s' % error, 'has-error') for field in form: for error in field.errors: message = '<div class="error-message">* {0}</div>'.format(error) dajax.append('#reg_wrap_id_%s' % field.name, 'innerHTML', message) return dajax.json()
def getobjects(request, userid, slug, sha): userid = int(userid) slug = escape(slug) obj = func.getRepoObjorNone(userid, slug) sha = escape(sha) if not obj: return dajax = Dajax() trees = func.getAllObjects(obj.get('repoObj'), "tree", sha) blobs = func.getAllObjects(obj.get('repoObj'), "blob", sha) icon = "<i class='icon-folder-close'></i>" tablerow = ["<tr><td id='%s' class='tree'>%s %s</td></tr>" % (obj["sha"], icon, obj["name"]) for obj in trees] dajax.append("#filesbody", "innerHTML", ''.join(tablerow)) icon = "<i class='icon-file'></i>" tablerow = ["<tr><td id='%s' class='blob'>%s %s</td></tr>" % (obj["sha"], icon, obj["name"]) for obj in blobs] dajax.append("#filesbody", "innerHTML", ''.join(tablerow)) dajax.add_data("", "setEvents") return dajax.json()
def submit_proposal(request, form): dajax = Dajax() form = ProposalForm(deserialize_form(form)) if form.is_valid(): print "########", valid form.save(commit=False) form.user = request.user form.save() dajax.remove_css_class('#proposal-form div', 'has-error') dajax.remove('.error-message') else: dajax.remove_css_class('#proposal-form div', 'has-error') dajax.remove('.error-message') for error in form.errors: dajax.add_css_class('#wrap_id_%s' % error, 'has-error') for field in form: for error in field.errors: message = '<div class="error-message">* {0}</div>'.format(error) dajax.append('#wrap_id_%s' % field.name, 'innerHTML', message) return dajax.json()
def user_login(request, form): if request.user.is_anonymous(): dajax = Dajax() form = UserLoginForm(deserialize_form(form)) if form.is_valid(): cleaned_data = form.cleaned_data user = cleaned_data.get("user") login(request, user) dajax.remove_css_class('#login-form div', 'has-error') dajax.remove('.error-message') dajax.redirect('/call-for-proposals'); else: dajax.remove_css_class('#login-form div', 'has-error') dajax.remove('.error-message') for item in form: dajax.add_css_class('#wrap_id_%s' % item.name, 'has-error') # non field errors if form.non_field_errors(): message = '<div class="error-message alert alert-danger"><small>{0}</small></div>'.format(form.non_field_errors()) dajax.append('#non-field-errors', 'innerHTML', message) return dajax.json()
def load_notifs( request, **kwargs ): """ loading additional notifications. """ html_content = "" end = kwargs['end'] if end >= request.user.notifications.count(): end = request.user.notifications.count() #import pdb;pdb.set_trace() for index in range( kwargs['start'], end ): html_content+=render_to_string("base/notification.html", { 'notification' : request.user.notifications.all()[index] }, RequestContext(request) ) dajax = Dajax() dajax.append(kwargs['targetdiv'], 'innerHTML', html_content) dajax.script("$('#id_current_page_unread').attr('value', parseInt($('#id_current_page_unread').val())+"+format(end-kwargs['start'])+");") return dajax.json()
def execute(request, name): dajax = Dajax() namer = 'Bialy Dom' date_list = Term.objects.all() #if not date_list: # string = "<p>" + "Ala ma kota" + "</p>" # dajax.assign('#data_modal', 'innerHTML', '%s' % string) # return dajax.json() stak = '' if date_list: for date in date_list: stak.append(dateroom__name) #stak.append('ddd', 'aaaa', 'llda') #.booking_date) #dajax.append('#data_modal', 'innerHTML', "<p>Cokolwiek do cholery jasnej</p>") #dajax.append('#data_modal', 'innerHTML', '<p>Django dziala mi na nerwy</p>') #dajax.append('#data_modal', 'innerHTML', date_list.attribute) #dajax.append('#data_modal', 'innerHTML', "<li>" + date_list + "</li>") dajax.append('#data_modal', 'innerHTML', stak) return dajax.json()
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 refresh_badges(request, username, reset=False): dajax = Dajax() dajax.assign('#badges tbody', 'innerHTML', "") badges = Badge.objects.all() for badge in badges: badge.user_accomplishments = badge.accomplishments.filter( user__username=username) win = badge.wins.filter(user__username=username) print win if len(win) == 0: badge.status = "open" elif win[0].complete: badge.status = "completed" else: badge.status = "in progress" badge_html = """ <tr class="badge" id="badge_%d"> <td width="50"> <img src="%s" title="%s" width="48" height="48"/> </td> <td> <div class="badge_title"><nobr>%s</nobr></div> <div class="status-%s">%s</div> </td> </tr> """ % (badge.id, badge.image.thumbnail.url(), badge.description, badge.title, badge.status.lower().replace( " ", "-"), badge.status) dajax.append('#badges tbody', 'innerHTML', badge_html) if reset: dajax.script( "$('.badge_review_section').addClass('hide_badge_reviews')") dajax.script("$('.badge').click(click_badge)") return dajax.json()
def add_course(request, course_id, slot_id): dajax = Dajax() courses = [] out = "" if isinstance(course_id, int): course = Course.objects.get(id=course_id) courses.append(course) out += "%s - % s" % ( str(course), course.title ) display = "<p slot_id=\"%s\">%s</p>" % ( slot_id, out ) dajax.append('#added_courses', 'innerHTML', display) else: for one_course in course_id: course = Course.objects.get(id=one_course) out += "%s " % course.subject_no courses.append(course) if not 'instances' in request.session: request.session['instances'] = [] if not 'slots' in request.session: request.session['slots'] = [] request.session['slots'].append( out ) result = [] for cur_course in courses: for instance in cur_course.courseinstance_set.all(): result.append( instance.id ) request.session['instances'].append( result ) dajax.script("AddCourseCallback();"); request.session.modified = True return dajax.json()
def addComment(request, type, id, comment): dajax = Dajax() if type == "a": resource = Activity.objects.get(pk=id) elif type == "p": resource = Project.objects.get(pk=id) c = resource.comment_set.create(user=request.user, comment=comment) commentCode = '<li class="media"><div class="media-body"><h5 class="media-heading">' + c.user.name + '</h5>' + comment + '</div></li>' dajax.append('#commentsList', 'innerHTML', commentCode) noOfComments = resource.comment_set.count() if noOfComments == 1: dajax.assign('#noOfComments', 'innerHTML', '<h5>1 Comment</h5>') else: dajax.assign('#noOfComments', 'innerHTML', '<h5>' + str(noOfComments) + ' Comments</h5>') dajax.assign('#commentBox', 'value', '') return dajax.json()
def prepend_test(request): dajax = Dajax() dajax.prepend('#block07 .row', 'innerHTML', '#') dajax.append('#console', 'innerHTML', "dajax.prepend('#block07 .row','innerHTML','#')<br/>") return dajax.json()
try: task_result = result.get() except Exception, e: render = 'expired' else: pass dajax = Dajax() render = render_to_string('hatsdb/ajax/scanner_friends_ajax.html', { "result": task_result, "game_type": game_type, 'game_id': game_id }, context_instance=RequestContext(request)) if task_type == 'scanner': dajax.append('#scanner_results', 'innerHTML', render) else: dajax.prepend('#scanner_results', 'innerHTML', render) dajax.remove('#' + task_id) dajax.script('stickyFooter(); $("img.lazy").lazyload();') return dajax.json() # works # used to load names of defitems on blacklist page @dajaxice_register def load_names_ajax(request, text, game_type): from models import def_item defitems = def_item.objects.filter(name__icontains=text, game_type=game_type) render = render_to_string('hatsdb/ajax/blacklist_defitems_ajax.html',
def bug_form_submit(request, form, cat_id, book_id, chapter_id, ex_id): dajax = Dajax() form = BugForm(deserialize_form(form)) if form.is_valid(): dajax.remove_css_class('#bug-form input', 'error') dajax.remove_css_class('#bug-form select', 'error') dajax.remove_css_class('#bug-form textarea', 'error') dajax.remove('.error-message') comment = form.cleaned_data['description'] error = form.cleaned_data['issue'] email = form.cleaned_data['email'] print(comment) comment_data = TextbookCompanionPreference.objects.db_manager('scilab')\ .raw(dedent("""\ SELECT 1 as id, tcp.book as book, tcp.author as author, tcp.publisher as publisher, tcp.year as year, tcp.category as category, tce.chapter_id, tcc.number AS chapter_no, tcc.name AS chapter_name, tce.number AS example_no, tce.caption AS example_caption FROM textbook_companion_preference tcp LEFT JOIN textbook_companion_chapter tcc ON tcp.id = tcc.preference_id LEFT JOIN textbook_companion_example tce ON tce.chapter_id = tcc.id WHERE tce.id = %s"""), [ex_id]) book_name = comment_data[0].book book_author = comment_data[0].author book_publisher = comment_data[0].publisher chapter_number = comment_data[0].chapter_no chapter_name = comment_data[0].chapter_name example_number = comment_data[0].example_no example_caption = comment_data[0].example_caption all_cat = False category = catg(comment_data[0].category, all_cat) subcategory = 0 error_int = int(error) error = issues[error_int][1] context = { 'category': category, 'subcategory': subcategory, 'error': error, 'book': book_name, 'author': book_author, 'publisher': book_publisher, 'chapter_name': chapter_name, 'chapter_no': chapter_number, 'example_id': ex_id, 'example_caption': example_caption, 'example_no': example_number, 'comment': comment, } scilab_comment = ScilabCloudComment() scilab_comment.type = error_int scilab_comment.comment = comment scilab_comment.email = email scilab_comment.category = comment_data[0].category scilab_comment.books = book_id scilab_comment.chapter = chapter_id scilab_comment.example = ex_id scilab_comment.save(using='scilab') subject = "New Cloud Comment" message = render_to_string('website/templates/email.html', context) from_email = FROM_EMAIL to_email = TO_EMAIL cc_email = CC_EMAIL bcc_email = BCC_EMAIL # Send Emails to, cc, bcc msg = EmailMultiAlternatives(subject, message, from_email, [to_email], bcc=[bcc_email], cc=[cc_email]) msg.content_subtype = "html" msg.send() dajax.alert("Thank you for your feedback") dajax.redirect('/index?eid=' + ex_id, delay=1000) else: dajax.remove_css_class('#bug-form input', 'error') dajax.remove_css_class('#bug-form select', 'error') dajax.remove_css_class('#bug-form textarea', 'error') dajax.remove('.error-message') for error in form.errors: dajax.add_css_class('#id_{0}'.format(error), 'error') for field in form: for error in field.errors: message = '<div class="error-message">* {0}</div>'.format( error) dajax.append('#id_{0}_wrapper'.format(field.name), 'innerHTML',\ message) # non field errors if form.non_field_errors(): message = '<div class="error-message"><small>{0}</small></div>'\ .format(form.non_field_errors()) dajax.append('#non-field-errors', 'innerHTML', message) 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 alert_test(request): dajax = Dajax() dajax.alert('Alert Test Works!!') dajax.append('#console', 'innerHTML', "dajax.alert('Alert Test Works!!')<br/>") return dajax.json()
def cssrem_test(request): dajax = Dajax() dajax.remove_css_class('#block04 li', 'red') dajax.append('#console', 'innerHTML', "dajax.remove_css_class('#block04 li',('red',))<br/>") return dajax.json()
def assign_test(request): dajax = Dajax() dajax.assign('#block01 li', 'innerHTML', 'Something else...') dajax.append('#console', 'innerHTML', "dajax.assign('#block01 li','innerHTML','Something else...')<br/>") return dajax.json()
def redirect_test(request): dajax = Dajax() dajax.redirect('http://djangoproject.com', 2000) dajax.append('#console', 'innerHTML', "dajax.redirect('http://djangoproject.com',2000)<br/>") return dajax.json()
def script_test(request): dajax = Dajax() dajax.script('alert("Alert from script!")') dajax.append('#console', 'innerHTML', "dajax.script('alert(\'Alert from script!\')')<br/>") return dajax.json()
def remove_test(request): dajax = Dajax() dajax.remove('#block10 .row') dajax.append('#console', 'innerHTML', "dajax.remove('#block10 .row')<br/>") return dajax.json()
def adddata_test(request): dajax = Dajax() dajax.add_data(range(0, 10), 'my_callback') dajax.append('#console', 'innerHTML', "dajax.add_data(range(0,10),'my_callback')<br/>") return dajax.json()
def param_test(request, what): dajax = Dajax() dajax.alert("You search = %s" % what) dajax.append('#console', 'innerHTML', "dajax.alert(\'You search = %s\' % what)<br/>") return dajax.json()
def send_form(request, form): dajax = Dajax() form = RegistrationFormFranchisee(deserialize_form(form)) if request.method == 'POST': if form.is_valid(): # instantiating object UserRegistration formf = UserRegistration(form) # JSON for form data data = formf.cleanData() # validation data: Franchisee code, email, Franchisee validFranchisee = formf.validDataFranchisee() print validFranchisee #checking fields not in use if (validFranchisee['franchisee'] == True and validFranchisee['email'] == True and validFranchisee['franchiseeCode']['flag'] == True and validFranchisee['franchiseeCode']['id'] >= 0): formf.saveUser() formf.activationKey() formf.newUserProfile() # change in the respective fields successful color for field in form.fields: # removing the entry fields dajax.remove('#id_%s' % field) # adding fields not editable dajax.append( '#f_%s' % field, 'innerHTML', '<span id="id_%s" class="input-medium uneditable-input">No puede Modificar</span>' % field) dajax.remove_css_class('#label_%s' % field, 'label label-important') dajax.add_css_class('#label_%s' % field, 'label label-success') dajax.remove_css_class('#f_%s' % field, 'control-group error') dajax.add_css_class('#f_%s' % field, 'control-group success') dajax.remove('#label_%s' % field) dajax.append( '#f_%s' % field, 'innerHTML', '<span id="label_%s" class="label label-success">Correcto</span>' % field) # Change other fields with successful Color dajax.remove_css_class('#errors', 'alert alert-info') dajax.remove_css_class('#errors', 'alert alert-error') dajax.add_css_class('#errors', 'alert alert-success') # adding button unmodifiable dajax.remove('#buttonSend') dajax.append( '#my_form', 'innerHTML', '<a class="btn btn-primary disabled">Resgistrarme!</a>') dajax.add_css_class('#buttonSend', 'btn btn-primary disabled') dajax.assign( '#errors', 'innerHTML', '<b>Muchas Gracias te Registraste con exito!</b>') message_correct = """ <h5>Para tener en cuenta:</h5><span class="badge badge-inverse">1</span> Revisa tu correo electronico <span class="label label-info">%s</span> """ dajax.assign('#modalBody', 'innerHTML', message_correct % data['email']) # Modal with info subcriptor dajax.script("$('#myModal').modal('show')") # send email formf.send_mails('*****@*****.**') # return data return dajax.json() # If the user or user code already exists or use else: message_errors = """<h5><i class="icon-warning-sign"></i> Verificar los posibles <span class="label label-important">ERRORES</span> en tu Registro como Franquiciado:</h5><br /> <span class="badge badge-important">1</span> <b>La identificación o Documento ya existen en el sistema</b><br /> <span class="badge badge-important">2</span> <b>Cuenta de correo electrónico ya existen en el sistema</b><br /> <span class="badge badge-important">3</span> <b>Las contraseñas no concuerdan o son de menos de 6 digitos</b><br /> <span class="badge badge-important">4</span> <b>El Código de referencia ya esta en uso por otro Franquiciado</b><br /> <span class="badge badge-important">5</span> <b>El Código de referencia indicado No existe en el sistema</b> """ dajax.assign('#modalBody', 'innerHTML', message_errors) dajax.script("$('#myModal').modal('show')") else: dajax.remove_css_class('#errors', 'alert-info') dajax.add_css_class('#errors', 'alert alert-error') dajax.assign( '#errors', 'innerHTML', 'Los Campos en color <b>Rojo</b> deben ser ingresados o Corregidos:' ) for error in form.errors: dajax.remove_css_class('#f_%s' % error, 'control-group success') dajax.add_css_class('#f_%s' % error, 'control-group error') dajax.remove('#label_%s' % error) dajax.append( '#f_%s' % error, 'innerHTML', '<span id="label_%s" class="label label-important">Corregir este Campo</span>' % error) return dajax.json() else: return dajax.json()