Exemple #1
0
def announcement_create(request,site_id,template_name="oa/announcement_form.html"):
    schools = get_schools(request.user)
    site = get_object_or_404(WebSite,id=site_id,school__in=schools)
    helpers.set_website_visit(request.user,site)
    category = get_object_or_404(PartCategory,id=9)
    school = get_schools(request.user)[0]
    if request.method == 'POST':
        form = PartForm(request.POST,user=request.user,category=category)
        
        if request.is_ajax():
            return helpers.ajax_validate_form(form)
        
        if form.is_valid():
            part = form.save(commit=False)
            if not form.cleaned_data['creator']:
                part.creator = request.user.teacher
            part.school = school
            part.category = category
            part.site = site
            part.save()
            if part.id:
                messages.success(request, u'已成功创建%s ' % part.category)
                return redirect(reverse('oa_part_con_anc_list',kwargs={'site_id':site.id}))
    else:
        form = PartForm(category=category,user=request.user)
    ctx = {'form':form,'category':category,'site':site}
    return render(request, template_name, ctx)
Exemple #2
0
def template(request,site_id,template_name="oa/template_list.html"):
    schools = get_schools(request.user)
    site = get_object_or_404(WebSite,id=site_id,school__in=schools)
    helpers.set_website_visit(request.user,site)
    templates = Template.objects.filter(site=site)
    ctx = {'templates':templates,'site':site}
    return render(request, template_name, ctx)
Exemple #3
0
def update_part(request,part_id,template_name="oa/part_form.html"):
    schools = get_schools(request.user)
    part = get_object_or_404(Part,id=part_id,site__school__in=schools)
    site = part.site
    helpers.set_website_visit(request.user,site)
    category = part.category
    cid = int(request.GET.get("cid", 5))
    categorys = PartCategory.objects.filter(parent_id=part.category.parent_id).exclude(parent_id=0)
    school = site.school
    if request.method == 'POST':
        form = PartForm(request.POST,category=category,user=request.user,instance=part)
        
        if request.is_ajax():
            return helpers.ajax_validate_form(form)
        
        if form.is_valid():
            cid = int(request.POST.get("cid"))
            category = get_object_or_404(PartCategory,id=cid)
            part = form.save(commit=False)
            if not form.cleaned_data['creator']:
                part.creator = request.user.teacher
            part.save()
            if part.id:
                messages.success(request, u'已成功创建%s ' % part.category)
#                return redirect("oa_website_list")
    else:
        form = PartForm(category=category,user=request.user,instance=part)
    ctx = {'form':form,'category':category,'categorys':categorys,'site':site}
    return render(request, template_name, ctx)
Exemple #4
0
def tips_create(request,site_id,template_name="oa/tips_form.html"):
    schools = get_schools(request.user)
    site = get_object_or_404(WebSite,id=site_id,school__in=schools)
    helpers.set_website_visit(request.user,site)
    try:
        category = get_object_or_404(PartCategory,id=11)
    except:
        category = None
    try:
        part = Part.objects.get(site=site,category=category)
    except:
        part =None
    school = get_schools(request.user)[0]
    if request.method == 'POST':
        form = PartForm(request.POST,category=category,user=request.user,instance=part)
        
        if request.is_ajax():
            return helpers.ajax_validate_form(form) 
        
        if form.is_valid():
            part = form.save(commit=False)
            if not form.cleaned_data['creator']:
                part.creator = request.user.teacher
            part.school = school
            part.category = category
            part.site = site
            part.type = 0
            part.save()
            if part.id:
                messages.success(request, u'已成功修改%s ' % part.category)
                return redirect(reverse('oa_part_con_tips_create',kwargs={'site_id':site.id}))
    else:
        form = PartForm(category=category,user=request.user,instance=part)
    ctx = {'form':form,'category':category,'site':site}
    return render(request, template_name, ctx)
Exemple #5
0
def star_figure_detail(request,site_id,user_id,template_name="oa/start_form.html"):
    user = get_object_or_404(User,id=user_id)
    schools = get_schools(request.user)
    site = get_object_or_404(WebSite,id=site_id,school__in=schools)
    helpers.set_website_visit(request.user,site)
    if is_teacher(user):
        next = reverse('oa_star_figure_teacher',kwargs={'site_id':site_id})
    else:
        next = reverse('oa_star_figure_student',kwargs={'site_id':site_id}) 
    try:
        figure = user.figure
    except:
        figure = StarFigure(user=user).save()
    
    if request.method == 'POST':
      form = StarFigureForm(request.POST,instance=figure)
      
      if request.is_ajax():
            return helpers.ajax_validate_form(form)
        
      if form.is_valid():
          part = form.save()
          messages.success(request, u'已成功修改%s ' % user.profile.realname)
          return redirect(next)
    else:
      form = StarFigureForm(instance=figure)
    ctx = {'form':form,'user':user,'next':next,'site':site}
    return render(request, template_name, ctx)
Exemple #6
0
def change_template(request,template_id):
    schools = get_schools(request.user)
    template = get_object_or_404(Template,id=template_id,site__school__in=schools)
    site = template.site
    helpers.set_website_visit(request.user,site)
    template.is_show = 1
    template.save()
    ctx = {'template':template,'site':site}
    return redirect(reverse('oa_template_list',kwargs={'site_id':site.id}))
Exemple #7
0
def mailbox_detail(request,mailbox_id,template_name="oa/mailbox_detail.html"):
    """站点管理园长信箱详情"""
    mailbox = get_object_or_404(MailBox,id=mailbox_id)
    mailbox.is_read = True
    mailbox.save()
    print mailbox.is_read,'rrrrrrrrrrrrrrrrrr'
    site = mailbox.site
    helpers.set_website_visit(request.user,site)
    ctx ={'mailbox':mailbox,'site':site}
    return render(request,template_name,ctx)
Exemple #8
0
def video_list(request,site_id,template_name="oa/video_list.html"):
    schools = get_schools(request.user)
    site = get_object_or_404(WebSite,id=site_id,school__in=schools)
    helpers.set_website_visit(request.user,site)
    category = get_object_or_404(PartCategory,id=12)
    categorys = PartCategory.objects.filter(parent=category.parent)
    parts = Part.objects.filter(site=site,category=category).order_by('-type','-mtime')
    type = int(request.GET.get("ty",-1))
    if type != -1:
        parts = parts.filter(type=type)
    ctx = {'site':site,'parts':parts,'category':category,'categorys':categorys,'type':type}
    return render(request, template_name, ctx)
Exemple #9
0
def mailbox(request,site_id,template_name="oa/mailbox_list.html"):
    """站点管理园长信箱列表"""
    site = get_object_or_404(WebSite,id=site_id)
    helpers.set_website_visit(request.user,site)
#    school = get_schools(request.user)[0]
#    user=school.header
    messages = MailBox.objects.filter(site=site).order_by('-ctime')
    ty = int(request.GET.get("ty",-1))
    if ty != -1:
        messages = messages.filter(is_read=ty)
    ctx = {'message_list':messages,'ty':ty,'site':site}
    return render(request,template_name,ctx)
Exemple #10
0
def create_part(request,site_id,template_name="oa/part_form.html"):
    schools = get_schools(request.user)
    site = get_object_or_404(WebSite,id=site_id,school__in=schools)
    helpers.set_website_visit(request.user,site)
    cid = int(request.GET.get("cid", 5))
    try:
        category = get_object_or_404(PartCategory,id=cid)
    except:
        category = None
    try:
        if category.id == 4:
            part = None
        else:
            part = Part.objects.get(site=site,category=category)
        
    except:
        part =None

        
    categorys = []
    if category and category.parent_id == 1:
        categorys = PartCategory.objects.filter(parent=category.parent)
    school = site.school
    if request.method == 'POST':
        form = PartForm(request.POST,category=category,user=request.user,instance=part)
        
        if request.is_ajax():
            return helpers.ajax_validate_form(form)
        
        if form.is_valid():
            cid = int(request.POST.get("cid",0))
            category = get_object_or_404(PartCategory,id=cid)
            part = form.save(commit=False)
            if not form.cleaned_data['creator']:
                part.creator = request.user.teacher
            part.school = school
            part.category = category
            part.site = site
#             part.video_type = 0
#             part.type = 0
            print category,'ccccccccccc'
            part.save()
            if part.id:
                messages.success(request, u'已成功修改%s ' % part.category)
                if part.category_id == 4:
                    return redirect(reverse('oa_part_teache',kwargs={'site_id':site.id}))
    else:
        form = PartForm(category=category,user=request.user,instance=part)
    ctx = {'form':form,'category':category,'categorys':categorys,'site':site,'school':school}
    return render(request, template_name, ctx)
Exemple #11
0
def star_figure_student(request,site_id,template_name="oa/start_student_list.html"):
    schools = get_schools(request.user)
    site = get_object_or_404(WebSite,id=site_id,school__in=schools)
    helpers.set_website_visit(request.user,site)
    students = Student.objects.filter(school=site.school)
    groups = Group.objects.filter(school=site.school).exclude(type=3)
    type = int(request.GET.get("ty",-1))
    gid = int(request.GET.get("group",-1))
    if type != -1:
        if type == 1:
            students = students.filter(user__figure__is_show=True)
        else:
            students = students.exclude(user__figure__is_show=True)
    if gid != -1:
        students = students.filter(group_id=gid)
    ctx = {'site':site,'students':students,'type':type,'groups':groups,'gid':gid}
    return render(request, template_name, ctx)
Exemple #12
0
def star_figure_teacher(request,site_id,template_name="oa/start_teacher_list.html"):
    schools = get_schools(request.user)
    site = get_object_or_404(WebSite,id=site_id,school__in=schools)
    helpers.set_website_visit(request.user,site)
    teachers = Teacher.objects.filter(school=site.school,is_delete=False)
    groups = Group.objects.filter(school=site.school).exclude(type=3)
    type = int(request.GET.get("ty",-1))
    gid = int(request.GET.get("group",-1))
    if type != -1:
        if type == 1:
            teachers = teachers.filter(user__figure__is_show=True)
        else:
            teachers = teachers.exclude(user__figure__is_show=True)
    if gid != -1:
        teachers = Teacher.objects.group_teachers(teachers,gid)
    ctx = {'site':site,'teachers':teachers,'type':type,'groups':groups,'gid':gid}
    return render(request, template_name, ctx)
Exemple #13
0
def update_website(request,site_id,template_name="oa/website_detail.html"):
    schools = get_schools(request.user)
    site = get_object_or_404(WebSite,id=site_id,school__in=schools)
    helpers.set_website_visit(request.user,site)
    if request.method == 'POST':
        form = WebSiteForm(request.POST,request.FILES,instance=site)
        
        if request.is_ajax():
            return helpers.ajax_validate_form(form)
        print form.errors,'eeeeeeeeee'
        if form.is_valid():
            site = form.save(commit=False)
            site.save()
            messages.success(request, u'已成功修改网站%s ' % site.name)
            return redirect(request.get_full_path())
    else:
        form = WebSiteForm(instance=site)
    ctx = {'form':form,'site':site}
    return render(request, template_name, ctx)
Exemple #14
0
def site_admin(request,site_id,template_name="oa/siteadmin_list.html"):
    schools = get_schools(request.user)
    site = get_object_or_404(WebSite,id=site_id,school__in=schools)
    helpers.set_website_visit(request.user,site)
    teachers = Teacher.objects.filter(school=site.school)
    admins = [u for u in site.admins.all()]
    admin_pks = [u.id for u in site.admins.all()]
    print admin_pks,'pppppppppp'
    
    s = int(request.GET.get("status", -1))
    a = int(request.GET.get("active", -1))
    n = request.GET.get("name",'')
    u = request.GET.get("username",'')
    
    qs = Q(postjob__status=s) if s != -1 else Q()
    if a != -1:
        qa = Q(user__in=admins) if a == 0 else ~Q(user__in=admins)
    else:
        qa = Q()
    qn = Q(name__contains=n) if n else Q()
    qu = Q(user__username__contains=u) if u else Q()
    q = qs & qn & qu & qa
    
    teachers = teachers.filter(q)
    
    uid = request.GET.get('uid','')
    ctx = {'teachers':teachers,'site':site,'admins':admins,'admin_pks':admin_pks,'s':s,'a':a,'n':n,'u':u}
#    return render(request, template_name, ctx)
    if request.method == 'POST':
        uid = request.POST.get('uid')
        user = get_object_or_404(User,id=uid)
        if user in admins:
            site.admins.remove(user)
            admin_pks.remove(user.id)
            data = json.dumps({'status':0})
        else:
            site.admins.add(user)
            admin_pks.append(user.id)
            data = json.dumps({'status':1})
        return HttpResponse(data)
    else:
        return render(request, template_name, ctx)
Exemple #15
0
def part_teache(request,site_id,template_name="oa/nav_teache_list.html"):
    schools = get_schools(request.user)
    site = get_object_or_404(WebSite,id=site_id,school__in=schools)
    helpers.set_website_visit(request.user,site)
    ty = int(request.GET.get('ty',-1))
    parts = Part.objects.filter(site=site,category_id=4).order_by('-type','-ctime')
    if ty != -1:
        parts = parts.filter(type=ty)
        
    if request.method == 'POST':
        part_pks = request.POST.getlist('part_pks')
        parts = Part.objects.filter(pk__in=part_pks)
        
        oty = int(request.POST.get('operate',-1))
        if oty != -1:
            if oty == 0:
                parts.delete()
            else:
                parts.update(type=oty)
                messages.success(request, u'操作成功 ')
            return redirect(reverse('oa_part_teache',kwargs={'site_id':site_id}) + "?ty=" + str(ty))
    ctx = {'site':site,'parts':parts,'ty':ty}
    return render(request, template_name, ctx)
Exemple #16
0
def update_news(request,part_id,template_name="oa/news_form.html"):
    schools = get_schools(request.user)
    part = get_object_or_404(Part,id=part_id,site__school__in=schools)
    site = part.site
    helpers.set_website_visit(request.user,site)
    category = part.category
    if request.method == 'POST':
        form = PartForm(request.POST,category=category,user=request.user,instance=part)
        
        if request.is_ajax():
            return helpers.ajax_validate_form(form)
        
        if form.is_valid():
            part = form.save(commit=False)
            if not form.cleaned_data['creator']:
                part.creator = request.user.teacher
            part.save()
            if part.id:
                messages.success(request, u'已成功修改%s ' % part.category)
                return redirect(reverse('oa_part_con_news_list',kwargs={'site_id':site.id}))  
    else:
        form = PartForm(category=category,user=request.user,instance=part)
    ctx = {'form':form,'category':category,'site':site}
    return render(request, template_name, ctx)
Exemple #17
0
def update_video(request,part_id,template_name="oa/video_form.html"):
    schools = get_schools(request.user)
    part = get_object_or_404(Part,id=part_id,site__school__in=schools)
    site = part.site
    helpers.set_website_visit(request.user,site)
    category = part.category
    form = PartForm(category=category,user=request.user,instance=part)
    if request.method == 'POST':
        chunks = request.POST.get('chunks')
        if chunks:#if request.is_ajax():
            f = request.FILES["video"]
            chunk = int(request.POST.get('chunk'))
            chunks = int(chunks)
            file_id = request.POST.get('file_id')
            name = request.POST.get('name')
            
            file_path = FILE_PATH + '/temp/' + str(file_id)
            fp = open(file_path,"a+b")
            fp.write(f.read())
            fp.close()
            
            if chunk + 1  == chunks:
                filename = 'part/' + str(file_id) + '.' +  name.split('.')[-1].lower()

                try:
                    URL('http://' + SITE_INFO.domain + reverse('cron_make_large_img')).post_async(filename=filename,file_path=file_path)
                except:
                    fr = open(file_path,"rb")
                    content = fr.read()
                    fr.close()
                    if os.path.isfile(file_path):
                        os.remove(file_path)
                    AliyunStorage(). _put_file(filename, content)
                    
                part = Part()
                part.creator = request.user.teacher
                part.school = school
                part.category = category
                part.site = site
                part.video = filename
                part.title = request.POST.get('title',name)
                part.video_type = request.POST.get('video_type') or 0
                part.type = request.POST.get('type') or 0
                part.save()
                if part.id:
                    data = json.dumps({'status':1,'desc':"ok"})
                    return HttpResponse(data)

            else:
                return HttpResponse(json.dumps({'status':1,'desc':"ok"}))
            data = json.dumps({'status':0,'desc':"error"})
            return HttpResponse(data) 
        else:
            form = PartForm(request.POST,request.FILES,user=request.user,category=category,instance=part)
            if form.is_valid():
                part = form.save(commit=False)
                if not form.cleaned_data['creator']:
                    part.creator = request.user.teacher
                part.save()           
                if part.id:
                    messages.success(request, u'已成功修改%s ' % part.category)
                    return redirect(reverse('oa_part_con_video_list',kwargs={'site_id':site.id}))   
    else:
        form = PartForm(category=category,user=request.user,instance=part)
    ctx = {'form':form,'category':category,'site':site,'part':part}
    return render(request, template_name, ctx)