コード例 #1
0
ファイル: frontend.py プロジェクト: nuannuanwu/weixiao
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)
コード例 #2
0
ファイル: frontend.py プロジェクト: nuannuanwu/weixiao
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)
コード例 #3
0
ファイル: frontend.py プロジェクト: nuannuanwu/weixiao
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)
コード例 #4
0
ファイル: oa_tags.py プロジェクト: nuannuanwu/weixiao
def get_parent_domain(context):
    request = context.get('request')
    return helpers.get_parent_domain(request)
コード例 #5
0
ファイル: frontend.py プロジェクト: nuannuanwu/weixiao
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)