示例#1
0
文件: views.py 项目: L-Angel/sdustoj
def admin_addcontest_save(request):
    c = RequestContext(request)
    flag = True
    title = request.POST.get('title')
    starttime = request.POST.get('starttime')
    endtime = request.POST.get('endtime')
    contest_private = request.POST.get('contest_private')
    language = request.POST.get('language')
    problems = request.POST.get('problems')
    users = request.POST.get('users')
    c = Contest(defunct='C', title=title,
                start_time=datetime.datetime.strptime(starttime, '%Y-%m-%d %H:%M:%S'),
                end_time=datetime.datetime.strptime(endtime, '%Y-%m-%d %H:%M:%S'),
                private=int(contest_private), langmask=int(language))
    c.save()
    contestid = c.contest_id
    index=0
    for problem in re.split(';|,', str(problems)):
        try:
            if problem != '':
                item = Problem.objects.get(problem_id=problem)
                cp = ContestProblem(contest_id=contestid, title=item.title, problem_id=item.problem_id, num=index)
                index+=1
                cp.save()
        except Exception, e:
            flag = False
示例#2
0
def registration(request):
    form = CrispyUserRegistrationForm(request.POST or None)
    if form.is_valid():
        form.save()
        return redirect("/login")
    context = RequestContext(request)
    context.update({'form': form})
    return render_to_response('registration.djhtml', context_instance=context)
示例#3
0
文件: views.py 项目: bxm156/BioCrowd
def profile(request):
    if WorkerProfile.objects.filter(user=request.user).exists():
        return redirect("/account/")
    context = RequestContext(request)
    form = UserProfileForm(request.POST,user=request.user)
    if form.is_valid():
        form.save()
        return redirect("/account/")
    context.update({'form':form})
    return render_to_response('register.djhtml', context)
示例#4
0
def overview(request):
    context = RequestContext(request)
    user = request.user
    user_profile = user.get_profile()
    context.update({
        'first_name': user.first_name,
        'last_name': user.last_name,
        'city': user_profile.city,
    })
    return render_to_response('overview.djhtml', context_instance=context)
示例#5
0
def edit_profile(request):
    user_profile = request.user.get_profile()
    context = RequestContext(request)
    if request.method == 'POST':
        form = CrispyUserProfileForm(request.POST, instance=user_profile)
        if form.is_valid():
            form.save()
            context.update({'submitted': True})
    else:
        form = CrispyUserProfileForm(instance=user_profile)
    context.update({'form': form})
    return render_to_response('edit_profile.djhtml', context_instance=context)
示例#6
0
def sessionAdmin(request):
    """
    Render the generic session admin.
    """
    context = RequestContext(request)
    if not context.has_key(AB_TEST_CONTEXT_NAME):
        msg = 'abTest context processor needs to be added in settings, to use session admin.'
        logger.error(msg)
        if not AB_TEST_FAIL_SILENT:
            raise Exception(msg)

    return render_to_response(AB_TEST_SESSION_ADMIN_TEMPLATE,{'ab' : context.get(AB_TEST_CONTEXT_NAME, {})},
        context_instance = context)
示例#7
0
文件: views.py 项目: kodiers/eShop
def register(request):
    """ Register view function. Show registration form"""
    if request.method == 'POST':
        form = MyUserCreationForm(request.POST)
        if form.is_valid():
            new_user = form.save()
            return HttpResponseRedirect("/reg_success/")
    else:
        form = MyUserCreationForm()
    templ = loader.get_template("register.html")
    cont = RequestContext(request, {"form":form})
    cont.update(csrf(request))
    return HttpResponse(templ.render(cont))
示例#8
0
文件: views.py 项目: bxm156/BioCrowd
def login(request):
    context = RequestContext(request)
    redirect_to = request.REQUEST.get(REDIRECT_FIELD_NAME, '')

    if request.method == "POST":
        form = CrispyAuthenticationForm(None, request.POST)
        if form.is_valid():
            django_login(request, form.get_user())
            if not is_safe_url(url=redirect_to, host=request.get_host()):
                redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL)
            return redirect(redirect_to)
    else:
        form = CrispyAuthenticationForm(request)
    context.update({'form': form})
    return render_to_response('login.djhtml', context)
示例#9
0
文件: views.py 项目: bxm156/BioCrowd
def register(request):
    if request.user.is_authenticated():
        redirect("/account/")
    context = RequestContext(request)
    form = UserForm(request.POST or None)
    if form.is_valid():
        user = form.save()
        user = authenticate(username=user.email, password=form.cleaned_data['password'])
        if user is not None:
            if user.is_active:
                print "You provided a correct username and password!"
                login(request, user)
                return redirect('/account/register/profile')
            else:
                print "Your account has been disabled!"
        else:
            print "Your username and password were incorrect."
    context.update({'form':form})
    return render_to_response('register.djhtml', context)
示例#10
0
文件: views.py 项目: kodiers/eShop
def login_form(request):
    """Handle logins"""
    if request.method == "POST":
        form = AuthenticationForm(data=request.POST)
        if form.is_valid():
            username = request.POST['username']
            password = request.POST['password']
            usr = authenticate(username=username, password=password)
            if usr is not None:
                if usr.is_active:
                    login(request, usr)
                    return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
        else:
            return HttpResponseRedirect("/register/")
    else:
        form = AuthenticationForm()
        t = loader.get_template("login.html")
        c = RequestContext(request, {'form': form})
        c.update((csrf(request)))
        return HttpResponse(t.render(c))
示例#11
0
 def get(self, request):
     return render_to_response('home.html',
                               context_instance=RequestContext(request))
示例#12
0
def app_deploy(request):
    server = Server.objects.all()
    return render_to_response('app_deploy.html', dict(servers=server), context_instance=RequestContext(request))
示例#13
0
def user_info(request):
    if(request.user.is_authenticated()):
            username = request.user.username
    else:
        username = ''    
    flag = 0
    massage = ''
    user = User.objects.get(username = username)
    if 'username' not in request.POST and 'lastname' not in request.POST and 'firstname' not in request.POST and 'email' not in request.POST:
        pass
    else:
        user_name = request.POST['username']
        firstname = request.POST['firstname']
        lastname = request.POST['lastname']
        email = request.POST['email']
        if cmp(user_name, '') is not 0 and cmp(user_name, username) is not 0:
            massage = u'用户名不允许修改'
        else:
            
            if cmp(firstname, '') is not 0 and cmp(firstname, user.first_name) is not 0:
                user.first_name = firstname
                flag = 1
            if cmp(lastname, '') is not 0 and cmp(lastname, user.last_name) is not 0:
                user.last_name = lastname
                flag = 1 
            if cmp(email, '') is not 0 and cmp(email, user.email) is not 0:
                user.email = email
                flag = 1
            if flag == 1:
                user.save()
                massage = u'修改成功'
    return render_to_response('user_change_info.html',{"massage":massage,"p":user,},context_instance=RequestContext(request))
示例#14
0
def Home(request):
    id_user = request.user
    try:
        # idcer 显示所管理机房的信息
        if id_user.role.role_en == "idcer":
            allDailyInfo_unfinish = []
            allRepairInfo_unfinish = []
            id_idcs = id_user.idc_users.all()
            id_idcs = [int(idc.id_idc) for idc in id_idcs]
            id_idcs = tuple(id_idcs)
            if len(id_idcs) == 1: sql_where = 'id_idc_id = %s' % (id_idcs[0])
            else: sql_where = 'id_idc_id in ' + str(id_idcs)
            sql_where2 = sql_where + ' and id_st_id in (4,6,8,11)'
            #allRepairInfo_waitprocess = RepairInfo.objects.exclude(id_st = 1).extra(where=[sql_where]).order_by('-re_create_time')
            #print sql_where,sql_where2
            allRepairInfo_waitaccept = RepairInfo.objects.filter(
                id_st=7).extra(where=[sql_where]).order_by('-re_create_time')
            allDailyInfo_waitaccept = DailyInfo.objects.filter(id_st=7).extra(
                where=[sql_where]).order_by('-dainfo_create_time')
            allRepairInfo_waitprocess = RepairInfo.objects.all().extra(
                where=[sql_where2]).order_by('-re_create_time')
            allDailyInfo_waitprocess = DailyInfo.objects.all().extra(
                where=[sql_where2]).order_by('-dainfo_create_time')
            allRepairInfo_waitcheck = RepairInfo.objects.filter(id_st=9).extra(
                where=[sql_where]).order_by('-re_create_time')
            allDailyInfo_waitcheck = DailyInfo.objects.filter(id_st=9).extra(
                where=[sql_where]).order_by('-dainfo_create_time')
            t_Repair = []
            for item in allRepairInfo_waitaccept:
                tmp = [
                    item,
                    RepairInfoFault.objects.filter(id_reinfo=item.id_reinfo)
                ]
                t_Repair.append(tmp)
            allRepairInfo_waitaccept = t_Repair
            t_Repair = []
            for item in allRepairInfo_waitprocess:
                tmp = [
                    item,
                    RepairInfoFault.objects.filter(id_reinfo=item.id_reinfo)
                ]
                t_Repair.append(tmp)
            allRepairInfo_waitprocess = t_Repair
            t_Repair = []
            for item in allRepairInfo_waitcheck:
                tmp = [
                    item,
                    RepairInfoFault.objects.filter(id_reinfo=item.id_reinfo)
                ]
                t_Repair.append(tmp)
            allRepairInfo_waitcheck = t_Repair
            kwvars = {
                'request': request,
                'title': '工单系统-主页',
                'title_content': '我的工作',
                'allRepairInfo_waitaccept': allRepairInfo_waitaccept,
                'allDailyInfo_waitaccept': allDailyInfo_waitaccept,
                'allRepairInfo_waitprocess': allRepairInfo_waitprocess,
                'allDailyInfo_waitprocess': allDailyInfo_waitprocess,
                'allRepairInfo_waitcheck': allRepairInfo_waitcheck,
                'allDailyInfo_waitcheck': allDailyInfo_waitcheck,
            }
            return render_to_response('workorder/index_idcer.html', kwvars,
                                      RequestContext(request))

        # sogouer 显示所有机房的信息
        #elif id_user.role.role_en == "sogouer" or id_user.role.role_en == "Admin":
        else:
            sql_where = 'id_st_id in (4,6,8,11)'
            allRepairInfo_waitaccept = RepairInfo.objects.filter(
                id_st=7).order_by('-re_create_time')
            allDailyInfo_waitaccept = DailyInfo.objects.filter(
                id_st=7).order_by('-dainfo_create_time')
            allRepairInfo_waitprocess = RepairInfo.objects.all().extra(
                where=[sql_where]).order_by('-re_create_time')
            allDailyInfo_waitprocess = DailyInfo.objects.all().extra(
                where=[sql_where]).order_by('-dainfo_create_time')
            allRepairInfo_waitcheck = RepairInfo.objects.filter(
                id_st=9).order_by('-re_create_time')
            allDailyInfo_waitcheck = DailyInfo.objects.filter(
                id_st=9).order_by('-dainfo_create_time')
            t_Repair = []
            for item in allRepairInfo_waitaccept:
                tmp = [
                    item,
                    RepairInfoFault.objects.filter(id_reinfo=item.id_reinfo)
                ]
                t_Repair.append(tmp)
            allRepairInfo_waitaccept = t_Repair
            t_Repair = []
            for item in allRepairInfo_waitprocess:
                tmp = [
                    item,
                    RepairInfoFault.objects.filter(id_reinfo=item.id_reinfo)
                ]
                t_Repair.append(tmp)
            allRepairInfo_waitprocess = t_Repair
            t_Repair = []
            for item in allRepairInfo_waitcheck:
                tmp = [
                    item,
                    RepairInfoFault.objects.filter(id_reinfo=item.id_reinfo)
                ]
                t_Repair.append(tmp)
            allRepairInfo_waitcheck = t_Repair
            kwvars = {
                'request': request,
                'title': '工单系统-主页',
                'title_content': '我的工作',
                'allRepairInfo_waitaccept': allRepairInfo_waitaccept,
                'allDailyInfo_waitaccept': allDailyInfo_waitaccept,
                'allRepairInfo_waitprocess': allRepairInfo_waitprocess,
                'allDailyInfo_waitprocess': allDailyInfo_waitprocess,
                'allRepairInfo_waitcheck': allRepairInfo_waitcheck,
                'allDailyInfo_waitcheck': allDailyInfo_waitcheck,
            }
            return render_to_response('workorder/index_sogouer.html', kwvars,
                                      RequestContext(request))
    except Exception, ex:
        kwvars = {
            'request': request,
            'title': '工单系统-主页',
            'title_content': '我的工作',
        }
        return render_to_response('workorder/index.html', kwvars,
                                  RequestContext(request))
示例#15
0
def main(request):
    def deal_time():
        tmp = 1 << chosen_course.time
        if tmp & visitor.timetable != 0:
            return "Time conflict!You can't have two courses at same time.Or this course you have alreay chose."
        visitor.timetable = visitor.timetable | tmp
        visitor.save()

    def get_timetable():
        table = [([''] * 6) for i in range(5)]
        table[0][0] = '8:00-9:50'
        table[1][0] = '10:10-12:00'
        table[2][0] = '13:30-15:20'
        table[3][0] = '15:30-17:20'
        table[4][0] = '18:30-20:20'
        for c in cl:
            i = c.time % 5
            if i == 0: i = 5
            i -= 1
            j = c.time // 5 + 1
            if j == 6: j = 5
            table[i][j] = c.name + '#' + c.classroom
        return table

    def get_grade():
        return 1
        join_year = int(visitor.sid[:4])
        g = int(datetime.date.today[0:4]) - join_year
        if int(datatime.date.today[5:7]) > 8: g += 1
        return g

    visitor = request.user.student
    cl = visitor.courses.all()
    course_list = grade.objects.filter(name=get_grade())[0].courses.all()
    err = []

    if request.method == 'POST':
        succ = []
        for key, value in request.POST.items():
            if value == '1':
                chosen_course = course.objects.filter(name=key)[0]
                d = deal_time()
                if d != None:
                    if d not in err:
                        err.append(d)
                else:
                    visitor.courses.add(chosen_course)
                s = 'CHOOSE SUCEESS'
                if s not in succ:
                    succ.append(s)

            if value == '2':
                try:
                    delete_course = visitor.courses.filter(name=key)[0]
                except IndexError:
                    e = 'The course you submit is not exist.You can see this maybe because you refresh the webpage and the browser resend the delete request.'
                    if e not in err:
                        err.append(e)
                else:
                    visitor.courses.remove(delete_course)
                    visitor.timetable = visitor.timetable & (
                        ~(1 << delete_course.time))
                    visitor.save()
                    delete_message = 'DELETE SUCEESS'
                    if delete_message not in succ:
                        succ.append(delete_message)
        cl = visitor.courses.all()
        table = get_timetable()
        dic = {
            'course_list': course_list,
            'cl': cl,
            'err': err,
            'succ': succ,
            'table': table
        }

        return render_to_response('main.html',
                                  dic,
                                  context_instance=RequestContext(request))
    else:
        #request.user.sid->grade
        table = get_timetable()
        dic = {
            'course_list': course_list,
            'cl': cl,
            'table': table,
        }

        return render_to_response('main.html',
                                  dic,
                                  context_instance=RequestContext(request))


#to list:1.#sid->grade #timetable
示例#16
0
def directions(request):
    form = dirForm(request.POST or None)
    return render_to_response('directions.html', {'form': form},
                              context_instance=RequestContext(request))
示例#17
0
def localisation(request):

    e = Entreprise.objects.values()

    return render_to_response('geo.html', {'entreprises': e},
                              context_instance=RequestContext(request))
示例#18
0
def apply_to_course(request):
    """
    controlpanel view'ında userprofile ogrenci ise buraya yonleniyor
    tercih zamanı ve ek tercih zamanı burada gorunuyor.
    :param request:
    :return: kullanıcı tercih zamanı eğer sıkca sorulan sorulara doğru yanıt vermisse PREFERENCE_LIMIT kadar tercih yapar
      eger profili yoksa createprofile yönlendirilir
      eger sıkca sorulan sorulara cevap vermemisse sıkca sorulan sorulara yonlendirilir.
    """
    d = {'clientip': request.META['REMOTE_ADDR'], 'user': request.user}
    data = getsiteandmenus(request)
    data['closed'] = True
    data['additional1_pref_closed'] = True
    data['PREFERENCE_LIMIT'] = PREFERENCE_LIMIT
    data['ADDITION_PREFERENCE_LIMIT'] = ADDITION_PREFERENCE_LIMIT
    now = datetime.now()
    data['may_cancel_all'] = True if data[
        'site'].event_start_date > datetime.date(now) else False
    """
    courses: mevcut etkinte onaylanmis ve basvuruya acik kurslar
    """
    data['courses'] = Course.objects.filter(approved=True,
                                            site=data['site'],
                                            application_is_open=True)
    """
    course_records: katilimcinin, mevcut etkinlikteki tercihleri
    """
    data['course_records'] = TrainessCourseRecord.objects.filter(
        trainess__user=request.user,
        course__site__is_active=True).order_by('preference_order')
    userprofile = request.user.userprofile
    if not userprofile:
        log.info("userprofile not found", extra=d)
        return redirect("createprofile")
    if data['courses']:
        if data['site'].application_start_date <= datetime.date(
                now) <= data['site'].application_end_date:
            log.info("in between application start and end date", extra=d)
            if userprofile.userpassedtest:
                data['closed'] = False
                note = _("You can choose courses in order of preference.")
                if request.GET:
                    course_prefs = request.GET
                    pref_tests = gettestsofcourses(course_prefs)
                    if pref_tests:
                        data['note'] = "Lutfen asağidaki soruları yanıtlayın"
                        data['pref_tests'] = pref_tests
                        if "submitanswers" in request.POST:
                            answersforcourse = {}
                            for course, questions in pref_tests.items():
                                answersforcourse[course] = []
                                for question in questions[0]:
                                    uansw = request.POST.get(
                                        str(course.pk) + str(question.no))
                                    ranswer = Answer.objects.get(pk=int(uansw))
                                    if ranswer:
                                        answersforcourse[course].append(
                                            ranswer)
                                    else:
                                        data[
                                            "note"] = "Lütfen tüm soruları doldurun!"
                                        return render_to_response(
                                            "training/testforapplication.html",
                                            data,
                                            context_instance=RequestContext(
                                                request))
                                for question in questions[1]:
                                    tbansw = request.POST.get("answer" +
                                                              str(question.pk))
                                    if tbansw:
                                        tcta, created = TrainessClassicTestAnswers.objects.get_or_create(
                                            user=request.user.userprofile,
                                            question=question)
                                        tcta.answer = tbansw
                                        tcta.save()
                            res = save_course_prefferences(
                                userprofile,
                                course_prefs,
                                data['site'],
                                d,
                                answersforcourse=answersforcourse)
                            data['note'] = res['message']
                            return render_to_response(
                                "training/applytocourse.html",
                                data,
                                context_instance=RequestContext(request))
                        return render_to_response(
                            "training/testforapplication.html",
                            data,
                            context_instance=RequestContext(request))
                    else:
                        res = save_course_prefferences(userprofile,
                                                       course_prefs,
                                                       data['site'], d)
                        data['note'] = res['message']
                    data['note'] = res['message']
                    return render_to_response(
                        "training/applytocourse.html",
                        data,
                        context_instance=RequestContext(request))
                data['note'] = note
            else:
                return redirect("testbeforeapply")
        elif datetime.date(now) < data['site'].application_start_date:
            log.info("before application start date", extra=d)
            data['note'] = "Tercih dönemi %s tarihinde açılacaktır" % data[
                'site'].application_start_date
        elif datetime.date(now) > data['site'].application_end_date:
            log.info("after application end date", extra=d)
            data[
                'note'] = "Tercih dönemi %s tarihinde kapanmıştır. Başvuru durumunuzu İşlemler> Başvuru Durum/Onayla " \
                          "adımından görüntüleyebilirsiniz " % data['site'].application_end_date
            """
             Bu kod parcasi ek tercihler icindir. Eger kullanıcının kabul ettigi ve edildigi bir kurs yoksa ve
             ek tercih aktifse bu kod blogu calisir.
            """
            if ADDITION_PREFERENCE_LIMIT:
                adates = get_additional_pref_start_end_dates_for_trainess(
                    data['site'], d)
                if adates:
                    for adate in adates:
                        if adates[adate].start_date <= now <= adates[
                                adate].end_date:
                            if is_trainess_approved_any_course(
                                    userprofile, data['site'], d):
                                data['additional1_pref_closed'] = False
                                log.info("ek tercih aktif", extra=d)
                                data['note'] = _(
                                    "You can make additional preference.")
    else:
        data['note'] = _("There isn't any course in this event.")
    return render_to_response('training/applytocourse.html', data)
示例#19
0
def aboutus(request):

    return render_to_response("aboutus.html", locals(),
                              context_instance=RequestContext(request))
示例#20
0
def userprofile(request):

    return render_to_response("userprofile.html", locals(),
                              context_instance=RequestContext(request))
示例#21
0
def thankyou(request):

    return render_to_response("thankyou.html", locals(),
                              context_instance=RequestContext(request))
示例#22
0
文件: views.py 项目: senvenks/OWL-v3
def appmonitor(request):
    groups = Group.objects.all()
    return render_to_response('appmonitor.html', {"groups": groups},
                              context_instance=RequestContext(request))
示例#23
0
 def get(self, request):
     form = PasswordChangeForm(request.user)
     return render_to_response('registration/password_change_form.html',
                               {'form': form},
                               context_instance=RequestContext(request))
示例#24
0
def testforapplication(request):
    data = getsiteandmenus(request)

    return render_to_response("testforapplication.html",
                              data,
                              context_instance=RequestContext(request))
示例#25
0
def render_search_page(request,
                       template="search.html",
                       news_search_template="news_search_template.html",
                       extra_context=None):
    args = {
        "latest_news": get_latest_news_total(request)[:5],
        "news_search_template": news_search_template,
    }
    if request.is_ajax():
        template = news_search_template
    if "q" in request.GET and request.GET["q"]:
        search_word = request.GET["q"]

        args["users_count"] = get_search_among_users(request,
                                                     search_word).count()
        args["companies_count"] = get_company(request, search_word).count()
        # args["news_count"] = len(get_search_result(request, search_word))
        if search_word is "":
            args["erorr_empty_field"] = True
        else:
            # translation = {
            #     "id": "id",
            #     "news_title_english": "news_title_english",
            #     "news_title_russian": "news_title_russian",
            #     "news_title_chinese": "news_title_chinese",
            #     "teaser_english": "teaser_english",
            #     "teaser_russian": "teaser_russian",
            #     "teaser_chinese": "teaser_chinese",
            #     "news_post_date": "news_post_date",
            #     "slug": "slug"
            # }
            #
            # query = "SELECT id, news_title_english, news_title_russian, news_title_chinese, teaser_english, teaser_chinese, teaser_russian, slug, news_post_date FROM news " \
            #         " WHERE news_title_english LIKE %{phrase}%" \
            #         " or news_title_russian LIKE %{phrase}%" \
            #         " or news_title_chinese LIKE %{phrase}%" \
            #         " or teaser_english LIKE %{phrase}%" \
            #         " or teaser_russian LIKE %{phrase}%" \
            #         " or teaser_chinese LIKE %{phrase}%".format(phrase=search_word)
            #
            # data = News.objects.raw(raw_query=query, translations=translation)

            args["results"] = get_search_result(request,
                                                search_word=search_word)
            args["news_count"] = get_search_result(
                request, search_word=search_word).count()
            args["matches_amount"] = get_matches_amount(request, search_word)
            args["users_matches"] = get_search_among_users(
                request, search_word)
            args["companies_matches"] = get_company(request,
                                                    search_word).values()
        args["search_word"] = search_word
        if auth.get_user(request).username:
            args["username"] = User.objects.get(
                username=auth.get_user(request).username)
            args["search_private"] = True
            UserRequests.objects.create(user_id=User.objects.get(
                username=auth.get_user(request).username).id,
                                        request=search_word)
        else:
            UserRequests.objects.create(
                user_id=User.objects.get(username="******").id,
                request=search_word)
    args.update(csrf(request))
    if "eng" in request.COOKIES.get('lang'):
        args['lang'] = 'eng'
    elif "rus" in request.COOKIES.get('lang'):
        args['lang'] = 'rus'
    elif "ch" in request.COOKIES.get('lang'):
        args['lang'] = 'ch'
    args["footer_news"] = get_news_for_footer(request)[:3]
    return render_to_response(template,
                              args,
                              context_instance=RequestContext(request))
示例#26
0
def control_panel(request, courseid):
    d = {'clientip': request.META['REMOTE_ADDR'], 'user': request.user}
    data = getsiteandmenus(request)
    data['note'] = _("You can accept trainees")
    now = timezone.now()
    data["user"] = request.user
    try:
        course = Course.objects.get(pk=courseid)
        data['now'] = now
        data['dates'] = get_approve_start_end_dates_for_inst(data['site'], d)
        data['trainess'] = {}
        data['notesavedsuccessful'] = False
        if data['dates']:
            if now <= data['dates'].get(1).end_date:
                data['trainess'][course] = get_trainess_by_course(course, d)
            else:
                data['note'] = _("Consent period is closed")
                data['trainess'][course] = get_approved_trainess(course, d)
        if request.user.userprofile in course.authorized_trainer.all():
            log.info("Kullanıcı %s kursunda degisiklik yapiyor" % course.name,
                     extra=d)
            if "send" in request.POST:
                log.info("kursiyer onay islemi basladi", extra=d)
                log.info(request.POST, extra=d)
                data['note'] = applytrainerselections(request.POST, course,
                                                      data, d)
            return render_to_response("training/controlpanel.html",
                                      data,
                                      context_instance=RequestContext(request))
        elif request.user.userprofile in course.trainer.all():
            data['note'] = "Kursiyerler için not ekleyebilirsiniz."
            if "savescore" in request.POST:
                trainessnote = request.POST.get('trainessnotetext')
                trainessusername = request.POST.get('trainessnoteuser')
                user = User.objects.get(username=trainessusername)
                potentialinst = request.POST.get('potential-%s' % user.pk)
                if trainessnote:
                    tnote = TrainessNote(
                        note_to_profile=user.userprofile,
                        note_from_profile=request.user.userprofile,
                        note=trainessnote,
                        site=data['site'],
                        label='egitim')
                    tnote.save()
                uprobysite, created = UserProfileBySite.objects.get_or_create(
                    user=user, site=data['site'])
                if potentialinst == 'on':
                    uprobysite.potentialinstructor = True
                else:
                    uprobysite.potentialinstructor = False
                uprobysite.save()
                data['savednoteuserid'] = user.userprofile.pk
                data['notesavedsuccessful'] = True
                data['note'] = "Kursiyer notu başarıyla kaydedildi."
            return render_to_response(
                "training/controlpanelforunauthinst.html",
                data,
                context_instance=RequestContext(request))
        elif not request.user.is_staff:
            return redirect("applytocourse")
        return redirect("statistic")
    except UserProfile.DoesNotExist:
        return redirect("createprofile")
示例#27
0
def password_reset_complete(request):
    """
    View that checks the hash in a password reset link and presents a
    form for entering a new password.
    """
    user_id = request.POST.get('user_id')
    uid = request.POST.get('uid')
    token = request.POST.get('token')

    user = User.objects.get(id=user_id)

    errors = ''
    
    if user is not None and default_token_generator.check_token(user, token):
        validlink = True
        title = _('Enter new password')
        if request.method == 'POST':
            temp_pass = request.POST.get('password')
            user.set_password(temp_pass)
            user.save()
            core_services.ldap_change_user_password(user, temp_pass)
            
            request.session['username'] = user.username
            request.session['password'] = temp_pass
            user = authenticate(username=user.username, password=temp_pass)
            if user is not None:
                if user.is_active:
                    login(request, user)
                    return redirect('home')
                
                else:
                    errors = _("Your account has been disabled")
            else:
                errors = _("The username and password you have entered do not match our records")


    else:
        validlink = False
        form = None
        errors =  _('Invalid token. Your link has expired, you need to ask for another one.')
            
    return render_to_response('registration/password_reset_confirm.html', {'errors': errors}, RequestContext(request))
示例#28
0
def submitandregister(request):
    """
    Bu view'ı kullanmıyoruz. Egitmen ve egitim başvurularını sistemden aldığımızda kullanılabilir.
    :param request:
    :return:
    """
    d = {'clientip': request.META['REMOTE_ADDR'], 'user': request.user}
    userops = UserProfileOPS()
    data = getsiteandmenus(request)
    note = "Kurs onerisi olustur:"
    curinstprofform = InstProfileForm(prefix="cur")
    forms = {}
    for x in xrange(4):
        forms[x] = [
            CreateInstForm(prefix=str(x) + "inst"),
            InstProfileForm(prefix=str(x) + "instprof")
        ]
    form = CreateCourseForm()
    if "submit" in request.POST:
        allf = []
        forms = {}
        for x in xrange(4):
            if str(x) + "inst-email" in request.POST:
                forms[x] = [
                    CreateInstForm(request.POST, prefix=str(x) + "inst"),
                    InstProfileForm(request.POST, prefix=str(x) + "instprof")
                ]
                allf.append(forms[x][0].is_valid())
                allf.append(forms[x][1].is_valid())
            else:
                pass
        curinstprofform = InstProfileForm(request.POST, prefix="cur")
        form = CreateCourseForm(request.POST)
        if all([curinstprofform.is_valid(), form.is_valid()]) and all(allf):
            curinst = curinstprofform.save(commit=False)
            curinst.user = request.user
            curinst.save()
            course = form.save(commit=False)
            if 'fulltext' in request.FILES:
                course.fulltext = request.FILES['fulltext']
            course.save()
            for key, f in forms.items():
                instx = f[0].save(commit=False)
                passwd = userops.generatenewpass(8)
                instx.set_password(passwd)
                instx.save()
                instxprof = f[1].save(commit=False)
                instxprof.user = instx
                instxprof.save()
                course.trainer.add(instxprof)
            course.trainer.add(curinst)
            course.save()
            note = "Egitim oneriniz basari ile alindi."
        else:
            note = "Olusturulamadi"
    data['note'] = note
    data['form'] = form
    data['curinstprofform'] = curinstprofform
    data['forms'] = forms
    return render_to_response("training/submitandregister.html",
                              data,
                              context_instance=RequestContext(request))
示例#29
0
def password_reset_success(request):
    return render_to_response('password_reset_success.html', {}, RequestContext(request))
示例#30
0
def db(request):
    greeting = Greeting()
    greeting.save()
    greetings = Greeting.objects.all()
    return render_to_response('db.html', {'greetings': greetings},
                              context_instance=RequestContext(request))
示例#31
0
文件: views.py 项目: bxm156/BioCrowd
def create(request):
    context = RequestContext(request)
    form = CrispyCrowdsourceJobForm()
    context.update({'form': form})
    return render_to_response('create.djhtml', context)
示例#32
0
def info(request):
    form = infoForm(request.POST or None)
    return render_to_response('info.html', {'form': form},
                              context_instance=RequestContext(request))
示例#33
0
文件: views.py 项目: Test-Jim/py_web
def update(request):
    finish_test=request.POST.get('status')
    need_id=request.POST.get('needid')
    beizhu=request.POST.get('beizhu')
    need.objects.filter(need_id=need_id).update(finish_test=finish_test,beizhu=beizhu)
    need_tester=need.objects.filter(need_id=need_id).values('need_tester')
    needs=need.objects.filter(need_tester=need_tester[0]['need_tester']).order_by('-need_id')
    return render_to_response('compact-table.html',{'needs':needs,'need_tester':need_tester[0]['need_tester']},context_instance = RequestContext(request))
示例#34
0
def user_change_password(request):
    if(request.user.is_authenticated()):
        username = request.user.username
    else:
        username = '' 
    massage = ''
    if 'old_password' not in request.POST:
        pass
    else:
        old_pass = request.POST['old_password']
        new_pass = request.POST['new_password']
        new_pass_again = request.POST['new_password_again']
        if old_pass == '':
            massage = u'请输入旧密码'
        else:
            if cmp(new_pass_again,new_pass) is not 0:
                massage = u'确认密码不正确,请重新输入'
            else:
                user = User.objects.get(username = username)
                user.set_password(new_pass)
                user.save()
                massage = u'修改成功'
    usergroup =request.user.groups.all()
   
    if usergroup.count()==1:
        usertype =usergroup[0].name
    else:
        usertype =u""
    if usertype == u"会员":
        user_type = 1
    elif usertype ==u"教练":
        user_type = 2    
    if user_type == 1:           
        return render_to_response('user_change_password.html',{"massage":massage,},context_instance=RequestContext(request))
    else:
        return render_to_response('instructor_change_password.html',{"massage":massage,},context_instance=RequestContext(request))
示例#35
0
def index(request):
    return render_to_response("sheepguard/index.html",
                              RequestContext(request, {}))
示例#36
0
 def get(self, request, *args, **kwargs):
     context = RequestContext(request)
     images = Image.objects.all()
     context.push({ "images" : images })
     return render_to_response("uploader/image_form.html", context_instance=context)
示例#37
0
 def get(self, request):
     if request.user.is_authenticated():
         return HttpResponseRedirect('/')
     return render_to_response('registration/register.html',
                               context_instance=RequestContext(request))
示例#38
0
文件: views.py 项目: Test-Jim/py_web
def index(request):
    # needs=need.objects.all().values_list('need_id','need_name','need_status','finish_test','need_day','need_url')
    userPhone=request.POST.get('userPhone')
    userPwd=request.POST.get('userPwd')
    info=user.objects.filter(mobile=userPhone,password=userPwd)
    if list(info) !=[]:

        need_tester=user.objects.values('name').get(mobile=userPhone)['name']
        needs=need.objects.filter(need_tester=need_tester).order_by('-need_id')
        return render_to_response('compact-table.html',{'needs':needs,'need_tester':need_tester},context_instance = RequestContext(request))
    else:
        return render_to_response('login.html',{'messages':'error'},context_instance = RequestContext(request))
示例#39
0
文件: views.py 项目: Test-Jim/py_web
def login(request):

    return render_to_response('login.html',context_instance = RequestContext(request))
示例#40
0
def user_update(request, uid):        
    if request.method == 'POST':
        user = User.objects.get(id=int(uid))
        
        assigned_groups = []
        for key in request.POST:
            if 'group-' in key:
                assigned_groups.append(int(key.split('-')[1]))
            
        is_staff = False
        if 'is_staff' in request.POST:
            is_staff = True
            
        is_superuser = False
        if 'is_superuser' in request.POST:
            is_superuser = True
            is_staff = True
            
        user.first_name = request.POST.get('first_name')
        user.last_name = request.POST.get('last_name')
        user.email = request.POST.get('email')
        user.is_staff = is_staff
        user.save()
        
        if user.is_superuser and is_superuser:
            admin_group = UserGroup.objects.get(name__exact='admin')
            assigned_groups.append(admin_group.id)
            
        if not user.is_superuser and is_superuser:
            user.is_superuser = True
            user.save()
            admin_group = UserGroup.objects.get(name__exact='admin')
            core_services.ldap_add_group_member(user, admin_group)
            assigned_groups.append(admin_group.id)
        
        if user.is_superuser and not is_superuser:
            user.is_superuser = False
            user.save()
            admin_group = UserGroup.objects.get(name__exact='admin')
            core_services.ldap_delete_group_member(user, admin_group)
        
        groups_by_user = UserGroupUser.objects.filter(user_id=user.id)
        for ugu in  groups_by_user:
            user_group = UserGroup.objects.get(id=ugu.user_group.id)
            core_services.ldap_delete_group_member(user, user_group)
            ugu.delete()
                  
        for ag in assigned_groups:
            user_group = UserGroup.objects.get(id=ag)
            usergroup_user = UserGroupUser(
                user = user,
                user_group = user_group
            )
            usergroup_user.save()
            core_services.ldap_add_group_member(user, user_group)
            
        return redirect('user_list')
                
        
    else:
        selected_user = User.objects.get(id=int(uid))    
        groups = auth_utils.get_all_groups_checked_by_user(selected_user)
        return render_to_response('user_update.html', {'uid': uid, 'selected_user': selected_user, 'user': request.user, 'groups': groups}, context_instance=RequestContext(request))
示例#41
0
def login_user(request):
    errors = []
    if request.method == "POST":
        if request.user.is_authenticated():
            logout_user(request)
        username = request.POST.get('username')
        try:
            findUser = User.objects.get(username=username)
        except User.DoesNotExist:
            findUser = None
        if findUser is not None:
            password = request.POST.get('password')
            request.session['username'] = username
            request.session['password'] = password
            user = authenticate(username=username, password=password)
            if user is not None:
                if user.is_active:
                    login(request, user)
                    return redirect('home')
                
                else:
                    errors.append({'message': _("Your account has been disabled")})
            else:
                errors.append({'message': _("The username and password you have entered do not match our records")})
        else:
            errors.append({'message': _("The username and password you have entered do not match our records")})
        
    else:
        if AUTH_WITH_REMOTE_USER:
            if "HTTP_REMOTE_USER" in request.META:
                if settings.DEBUG == True:
                    print "HTTP_REMOTE_USER: "******"basic":
                        uname, passwd = base64.b64decode(auth[1]).split(':')
                        user = authenticate(username=uname, password=passwd)
                        request.session['username'] = uname
                        request.session['password'] = passwd
                        if user is not None:
                            if user.is_active:
                                login(request, user)
                                request.user = user
                                return redirect('home')
            elif 'HTTP_OIDC_CLAIM_SUB' in request.META:
                if settings.DEBUG == True:
                        print "HTTP_OIDC_CLAIM_SUB: " + request.META['HTTP_OIDC_CLAIM_SUB']
                request.session['username'] = None
                request.session['password'] = None
                aux = request.META['HTTP_OIDC_CLAIM_SUB']
                if "\\" in aux:
                        aux = aux.split("\\")[1]
                aux = aux.lower()
                user = authenticate(remote_user=aux)
                if user is not None:
                    if user.is_active:
                        login(request, user)
                        return redirect('home')

        else:
            username = request.GET.get('usu')
            try:
                findUser = User.objects.get(username=username)
            except User.DoesNotExist:
                findUser = None
            if findUser is not None:
                password = request.GET.get('pass')
                request.session['username'] = username
                request.session['password'] = password
                user = authenticate(username=username, password=password)
                if user is not None:
                    if user.is_active:
                        login(request, user)
                        id_solicitud = request.GET.get('id_solicitud')
                        dni = request.GET.get('dni')
                        expediente = request.GET.get('expediente')
                        token = request.GET.get('token')
                        if id_solicitud is not None:                            
                            response = redirect(request.GET.get('next'))
                            response['Location'] += '?id_solicitud=' + id_solicitud + '&token=' + token
                            return response
                        
                        elif dni is not None:
                            response = redirect(request.GET.get('next'))
                            response['Location'] += '?dni=' + dni + '&token=' + token
                            return response
                        
                        elif expediente is not None:
                            response = redirect(request.GET.get('next'))
                            response['Location'] += '?expediente=' + expediente + '&token=' + token
                            return response
                    
                    else:
                        errors.append({'message': _("Your account has been disabled")})
                else:
                    errors.append({'message': _("The username and password you have entered do not match our records")})
            else:
                errors.append({'message': _("The username and password you have entered do not match our records")})
                
    external_ldap_mode = True
    if 'AD' in GVSIGOL_LDAP and GVSIGOL_LDAP['AD'].__len__() > 0:
        external_ldap_mode = False
    return render_to_response('login.html', {'errors': errors, 'external_ldap_mode': external_ldap_mode}, RequestContext(request))
示例#42
0
def user_add(request):        
    ad_suffix = GVSIGOL_LDAP['AD']
    if not ad_suffix:
        show_pass_form = True
    else:
        show_pass_form = False
        
    if request.method == 'POST':
        form = UserCreateForm(request.POST)
        if form.is_valid():            
            assigned_groups = []
                
            is_staff = False
            if 'is_staff' in form.data:
                is_staff = True
                
            is_superuser = False
            if 'is_superuser' in form.data:
                is_superuser = True
                is_staff = True
            
            assigned_groups = []   
            for key in form.data:
                if 'group-' in key:
                    assigned_groups.append(int(key.split('-')[1]))
            
            try:         
                if form.data['password1'] == form.data['password2']:
                    user = User(
                        username = form.data['username'].lower(),
                        first_name = u''.join(form.data['first_name']).encode('utf-8'),
                        last_name = u''.join(form.data['last_name']).encode('utf-8'),
                        email = form.data['email'].lower(),
                        is_superuser = is_superuser,
                        is_staff = is_staff
                    )
                    user.set_password(form.data['password1'])
                    user.save()
                    
                    #admin_group = UserGroup.objects.get(name__exact='admin')
                    aux = UserGroup.objects.filter(name="admin")
                    if aux.count() > 1:
                        print "WARNING: table gvsigol_auth_usergroup inconsistent !!!!!!!!!!!"
                    
                    admin_group = aux[0]
                    
                    if user.is_superuser:
                        core_services.ldap_add_user(user, form.data['password1'], True)                        
                        core_services.ldap_add_group_member(user, admin_group)
                        usergroup_user = UserGroupUser(
                            user = user,
                            user_group = admin_group
                        )
                        usergroup_user.save()
                        
                    else:
                        core_services.ldap_add_user(user, form.data['password1'], False)
                        #core_services.ldap_add_group_member(user, admin_group)
                        
                    for ag in assigned_groups:
                        user_group = UserGroup.objects.get(id=ag)
                        usergroup_user = UserGroupUser(
                            user = user,
                            user_group = user_group
                        )
                        usergroup_user.save()
                        core_services.ldap_add_group_member(user, user_group)
                     
                    #User backend 
                    if is_superuser or is_staff:  
                        ugroup = UserGroup(
                            name = 'ug_' + form.data['username'].lower(),
                            description = _(u'User group for') + ': ' + form.data['username'].lower()
                        )
                        ugroup.save()
                        
                        ugroup_user = UserGroupUser(
                            user = user,
                            user_group = ugroup
                        )
                        ugroup_user.save()
                            
                        core_services.ldap_add_group(ugroup)
                        core_services.add_data_directory(ugroup)
                        core_services.ldap_add_group_member(user, ugroup)
                        
                        url = mapservice_backend.getBaseUrl() + '/'
                        ws_name = 'ws_' + form.data['username'].lower()
                        
                        if mapservice_backend.createWorkspace(
                            ws_name,
                            url + ws_name,
                            '',
                            url + ws_name + '/wms',
                            url + ws_name + '/wfs',
                            url + ws_name + '/wcs',
                            url + 'gwc/service/wmts',
                            url + 'gwc/service/wms'):
                                
                            # save it on DB if successfully created
                            newWs = Workspace(
                                name = ws_name,
                                description = '',
                                uri = url + ws_name,
                                wms_endpoint = url + ws_name + '/wms',
                                wfs_endpoint = url + ws_name + '/wfs',
                                wcs_endpoint = url + ws_name + '/wcs',
                                wmts_endpoint = url + 'gwc/service/wmts',
                                cache_endpoint = url + 'gwc/service/wms',
                                created_by = user.username,
                                is_public = False
                            )
                            newWs.save()
                            
                            ds_name = 'ds_' + form.data['username'].lower()
                            services_utils.create_datastore(request, user.username, ds_name, newWs)
                            
                            mapservice_backend.reload_nodes()
                        
                        
                    auth_utils.sendMail(user, form.data['password1'])
    
                    return redirect('user_list')
            
            except Exception as e:
                print "ERROR: Problem creating user " + str(e)
                errors = []
                #errors.append({'message': _("The username already exists")})
                groups = auth_utils.get_all_groups()
                return render_to_response('user_add.html', {'form': form, 'groups': groups, 'errors': errors,'show_pass_form':show_pass_form}, context_instance=RequestContext(request))

        else:
            groups = auth_utils.get_all_groups()
            return render_to_response('user_add.html', {'form': form, 'groups': groups, 'show_pass_form':show_pass_form}, context_instance=RequestContext(request))
        
    else:
        
        form = UserCreateForm()
        groups = auth_utils.get_all_groups()
        return render_to_response('user_add.html', {'form': form, 'groups': groups, 'show_pass_form':show_pass_form}, context_instance=RequestContext(request))
示例#43
0
 def get(self, request, *args, **kwargs):
     context = RequestContext(request)
     context.push({"images" : self.get_queryset() })
     return render_to_response("uploader/image_list.html", context_instance=context)