def mailbox(request,template_name="oa/site/email.html",domain="domain"): site = get_site(request) if not site: return render(request, "404.html") school = site.school if request.GET.get('newsn')=='1': csn=CaptchaStore.generate_key() cimageurl= captcha_image_url(csn) parent_domain = helpers.get_parent_domain(request) return HttpResponse(parent_domain + cimageurl) if request.method == 'POST': form = MailBoxForm(request.POST) print form.errors,'eeeeeeeeeeeeeeeeeee' if request.is_ajax(): return helpers.ajax_validate_form(form) if form.is_valid(): human = True mail = form.save(commit=False) # mail.user = school.header mail.site = site mail.save() if mail.id: messages.success(request, u'已成功发送%s ' % mail.title) return redirect(request.get_full_path()) else: form = MailBoxForm() ctx = {'form':form,'class':'startes','site':site} return render(request, template_name, ctx)
def regist(request,template_name="oa/site/registration.html",domain="huaban"): ctx = {'channel':'site_regist'} site = get_site(request) if not site: return render(request, "404.html") school = site.school extra = int(request.GET.get("extra", 4)) if request.GET.get('newsn')=='1': csn=CaptchaStore.generate_key() cimageurl= captcha_image_url(csn) parent_domain = helpers.get_parent_domain(request) return HttpResponse(parent_domain + cimageurl) if request.method == 'POST': form1 = RegistrationForm(request.POST) extra = request.POST['form-TOTAL_FORMS'] formset = formset_factory(RegistGuardianForm,formset=RequiredFormSet,extra=extra) form2 = formset(request.POST) print form1.errors,'11111' print form2[0].errors,'222222222' print form2[0].is_valid(),'vvvvv' if request.is_ajax(): form2_error_list = [] for fo in form2: form2_error_list = form2_error_list + fo.errors.items() error_list = form1.errors.items() + form2_error_list return helpers.ajax_validate_form_error_list(error_list) if form1.is_valid() and form2[0].is_valid(): human = True reg = form1.save(commit=False) reg.school = school reg.status = 0 reg.save() for f in form2: print f.errors if f.is_valid(): guardian = f.save(commit=False) if guardian.relation and guardian.name and guardian.mobile and guardian.unit: guardian.regist = reg guardian.save() messages.success(request, u"报名表%s 保存成功" % reg.name) return redirect(request.get_full_path()) else: form1 = RegistrationForm() form2 = formset_factory(RegistGuardianForm,formset=RequiredFormSet,extra=extra) ctx = {'form1':form1,'form2':form2,'class':'startes','site':site} return render(request, template_name, ctx)
def index(request, template_name="kinger/tile_index.html"): """ 家长页面首页, 选择分类使会用 ``request.session`` 记录 `channel` 分类.用于详情页查询. :param channel: ``string``, 分别是 *Baby* 默认项, *推荐 - tips*, *所有 - all* 分类. :param tag_q: ``string``, 数据格式如: *1,3,4*. 服务于 *tips* 分类,根据标签 ``id`` 过滤 :params type_id: ``int``, 单个 id. 服务于 *baby* 分类。 """ site = get_domain_redirct(request) print site,'site-----------------' if site: template_name="oa/site/index.html" ctx = {'channel':'site_index'} if request.user.is_authenticated(): ctx.update({'user_login':request.user}) school = site.school auth_form = AuthenticationForm if request.method == 'POST': form = auth_form(request.POST) if request.is_ajax(): return helpers.ajax_validate_error(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) try: profile = user.get_profile() except: p = Profile() p.user = user p.save() if user.is_active: login(request, user) # log = Access_log() # log.type = 1 # log.user = user # log.url = request.get_full_path() # log.save() if remember_me: request.session.set_expiry(userena_settings.USERENA_REMEMBER_ME_DAYS[1] * 86400) else: request.session.set_expiry(0) messages.success(request, _('You have been signed in.')) # Whereto now? return redirect(request.get_full_path()) else: return redirect(reverse('userena_disabled', kwargs={'username': user.username})) else: form = AuthenticationForm() school_actives = school_active(site,17) student_actives = school_active(site,18) articals = get_parts(site,19) news = get_parts(site,10) print news,'nnnnnnnnnnnnnn' announces = get_parts(site,9) tip = get_tip(site) start_teachers = get_start(site.school,'teacher') start_students = get_start(site.school,'student') tiles = Tile.objects.get_tiles_all_unlogin()[0:4] links = Link.objects.filter(site=site) parent_domain = get_parent_domain(request) ctx.update({'form':form,'school_actives':school_actives,'student_actives':student_actives,\ 'articals':articals,'news':news,'announces':announces,'tip':tip,'links':links,\ 'start_teachers':start_teachers,'start_students':start_students,'tiles':tiles,\ 'site':site,'parent_domain':parent_domain}) return render(request, template_name,ctx) else: channel_ctx = {} channel = request.GET.get("channel",'all') user = request.user category = TileCategory.objects.all() if request.user.is_authenticated(): #用户登录日志 log = Access_log() log.type = 2 log.user = user log.url = request.get_full_path() log.save() tags = [] types = [] if channel == "baby": current_time = datetime.datetime.now() category = category.filter(is_tips=False) parent_category = category.filter(parent__pk=0).exclude(pk=10) tiles = Tile.objects.get_tiles_baby(user).filter(category__parent__in=parent_category) record_tiles = Tile.objects.get_tiles_baby(user).filter(category__parent__id=10) today_daily_tiles = get_daily_category_tiles(record_tiles, category, current_time) #today_daily_tiles = get_daily_category_tiles(tiles, category, current_time) latest_active = get_daily_activitie_tiles(user) latest_cookbook = get_daily_cook_books(user,current_time) is_read = 1 if CookbookRead.objects.filter(user=user,cookbook=latest_cookbook,is_read=True) else 0 # 根据页面上得到category过滤返回的瓦片分类 scat_id = request.GET.get("scat_id", '') scat_pks = [int(x) for x in filter(None, scat_id.split(","))] if scat_pks: category_list = TileCategory.objects.filter(pk__in=scat_pks) q_category = Tile.objects.get_q_category(category_list) tiles = tiles.filter(q_category) book_item = cook_book_item(latest_cookbook) template_name = "kinger/tile_index_baby.html" channel_ctx = {"scat_id":scat_id, "parent_category":parent_category, "book_item":book_item, "current_time":current_time,\ "today_daily_tiles":today_daily_tiles,"latest_active":latest_active,"latest_cookbook":latest_cookbook,"is_read":is_read} elif channel == "tips": category = category.filter(is_tips=True) parent_category = category.filter(parent__pk=0).exclude(pk=10) tiles = Tile.objects.get_tiles_edu(user).filter(category__parent__in=parent_category) # 根据页面上得到category过滤返回的瓦片分类 scat_id = request.GET.get("scat_id", '31') scat_pks = [int(x) for x in filter(None, scat_id.split(","))] if scat_pks: category_list = TileCategory.objects.filter(pk__in=scat_pks) q_category = Tile.objects.get_q_category(category_list) tiles = tiles.filter(q_category) channel_ctx = {"scat_id":scat_id, "parent_category":parent_category} else: # 个人的以及推荐的 tiles = Tile.objects.get_tiles_all_login(user) daily_category = get_daily_category() if daily_category: tiles = tiles.exclude(category__parent=daily_category) else: # 公开推荐的 channel = "all" tiles = Tile.objects.get_tiles_all_unlogin() ctx = {} content_type = ContentType.objects.get_for_model(Tile) ctx.update({"tiles": tiles, "content_type": content_type, "channel": channel,"category":category}) ctx.update(channel_ctx) request.session['kinger_channel'] = channel if request.is_ajax(): page = int(request.GET.get("page",'1')) start = (page - 1) * 15 end = page * 15 tiles = tiles[start:end] ctx['tiles'] = tiles template_name = "kinger/tile_index_container.html" return render(request, template_name, ctx) return render(request, template_name, ctx)
def get_parent_domain(context): request = context.get('request') return helpers.get_parent_domain(request)
def index(request,template_name="oa/site/index.html",domain="huaban"): parent_domain = helpers.get_parent_domain(request) site = get_site(request) if not site: return render(request, "404.html") ctx = {'channel':'site_index'} if request.user.is_authenticated(): ctx.update({'user_login':request.user}) school = site.school auth_form = AuthenticationForm if request.method == 'POST': form = auth_form(request.POST) if request.is_ajax(): return helpers.ajax_validate_error(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) try: profile = user.get_profile() except: p = Profile() p.user = user p.save() if user.is_active: login(request, user) # log = Access_log() # log.type = 1 # log.user = user # log.url = request.get_full_path() # log.save() if remember_me: request.session.set_expiry(userena_settings.USERENA_REMEMBER_ME_DAYS[1] * 86400) else: request.session.set_expiry(0) messages.success(request, _('You have been signed in.')) # Whereto now? return redirect(request.get_full_path()) else: return redirect(reverse('userena_disabled', kwargs={'username': user.username})) else: form = AuthenticationForm() school_actives = school_active(request,site.id,17) student_actives = school_active(request,site.id,18) articals = get_parts(request,site.id,19) news = get_parts(request,site.id,10) print news,'nnnnnnnnnnnnnn' announces = get_parts(request,site.id,9) tip = get_tip(request,site.id) start_teachers = get_start(request,school,'teacher') start_students = get_start(request,school,'student') tiles = Tile.objects.get_tiles_all_unlogin()[0:4] links = Link.objects.filter(site=site) ctx.update({'form':form,'school_actives':school_actives,'student_actives':student_actives,\ 'articals':articals,'news':news,'announces':announces,'tip':tip,'links':links,\ 'start_teachers':start_teachers,'start_students':start_students,'tiles':tiles,\ 'site':site,'parent_domain':parent_domain}) return render(request, template_name,ctx)