def export_member(request,school_id): school = School.objects.get(pk=school_id) ty = request.GET.get("ty",'teacher') if ty == "teacher": teachers = Teacher.objects.filter(school=school) teachers = teachers.filter(is_delete=False) response = HttpResponse(mimetype="application/ms-excel") response['Content-Disposition'] = 'attachment; filename=teachers.xls' wb = xlwt.Workbook() ws = wb.add_sheet(_("Teacher List")) for idx, col in enumerate([ _("Name"),_("Username"), _("Mobile")]): ws.write(0, idx, col) row = 0 for s in teachers: row += 1 col = 0 name = helpers.get_name(s.user) for c in [name,s.user.username,s.user.profile.mobile]: ws.write(row,col,c) col += 1 wb.save(response) return response else: students = Student.objects.filter(school=school,is_delete=False) response = HttpResponse(mimetype="application/ms-excel") response['Content-Disposition'] = 'attachment; filename=teachers.xls' wb = xlwt.Workbook() ws = wb.add_sheet(_("Teacher List")) for idx, col in enumerate([ _("Name"),_("Username"), _("Mobile"), _('school class')]): ws.write(0, idx, col) row = 0 for s in students: col = 0 name = helpers.get_name(s.user) try: student_info = [name,s.user.username,s.user.profile.mobile,s.group.name] row += 1 for c in student_info: ws.write(row,col,c) col += 1 except: pass wb.save(response) return response
def cross_domain_login(request): uid = request.GET.get('uid','') salt = request.GET.get('salt','') hash = request.GET.get('hash','') mask = '3n7j6m9s' m = md5.new(str(uid) + str(salt) + mask) new_hash = m.hexdigest() if new_hash == hash: user = User.objects.get(pk=uid) user.backend = 'django.contrib.auth.backends.ModelBackend' user.save() # user = auth.authenticate(username=u.username, password=u.password) is_teacher = helpers.is_teacher(user) is_student = helpers.is_student(user) if user is not None and user.is_active: auth.login(request, user) d = json.dumps({'is_teacher':is_teacher,'is_student':is_student,\ 'username':helpers.get_name(user)}) # request.GET['callback']+"("+(d)+");" return HttpResponse(request.GET['callback']+"("+(d)+");") else: return HttpResponse(json.dumps({}))