コード例 #1
0
ファイル: views.py プロジェクト: fay/Nankin
def vote(request):
    choice = request.GET.get('choice', None)
    id = request.GET.get('id', None)
    who = users.get_current_user()
    if not who:
        who = users.User(email=User.all().get().email)

    jot = Jot.get(id)
    meta = Meta.get()
    
    if choice == 'y':
        jot.like = jot.like + 1
        if jot.like > meta.max_like:
            meta.max_like = jot.like
    elif choice == 'n':
        jot.unlike = jot.unlike + 1
        if jot.unlike > meta.max_unlike:
            meta.max_unlike = jot.unlike
    meta.save()
    unlike = standard_ratio(meta.max_unlike, 0, jot.unlike)
    like = standard_ratio(meta.max_like, 0, jot.like)
    vote = Vote(who=who, jot=jot)
    jot.save()
    vote.put()
    return render_to_response('vote_stat.html', {'jot':{'like':like, 'unlike':unlike}}, context_instance=RequestContext(request))
コード例 #2
0
ファイル: views.py プロジェクト: fay/tao
def get_user():
    who = users.get_current_user()
    if who:
        #django user
        user = User.all().filter('user = '******'user')
    return user
コード例 #3
0
ファイル: tests.py プロジェクト: pajenterprise/arecibo
 def setUp(self):
     for error in Error.all():
         error.delete()
     for notification in Notification.all():
         notification.delete()
     for user in AppUser.all():
         user.delete()
     for issue in Issue.all():
         issue.delete()
コード例 #4
0
ファイル: views.py プロジェクト: fay/tao
def watch(request, user_name):
    user = get_user()
    watched_user = User.all().filter('username', user_name).get()
    watch = Watch(watcher=user, watched=watched_user)
    not_existed = watch.create()
    if not_existed:
        m = 'ok'
    else:
        m = 'watched'
    return HttpResponse(m)
コード例 #5
0
ファイル: views.py プロジェクト: fay/Nankin
def comment(request, key):
    what = request.POST.get('what', None)
    #google user
    user = users.get_current_user()
    #django user
    user = User.all().filter('user = ', user).get()
    try:
        jot = Jot.get(key)
    except Exception, e:
        raise Http404
コード例 #6
0
def user_list(request):
    queryset = User.all()
    # this number doesn't need to be high and its quite an expensive
    # page to generate
    paginated = Paginator(queryset, 10)
    page = get_page(request, paginated)
    return direct_to_template(request, "user_list.html", extra_context={
        "page": page,
        "nav": {"selected": "setup"}
        })
コード例 #7
0
ファイル: views.py プロジェクト: rootart/arecibo
def user_list(request):
    queryset = User.all()
    # this number doesn't need to be high and its quite an expensive
    # page to generate
    paginated = Paginator(queryset, 10)
    page = get_page(request, paginated)
    return direct_to_template(request, "user_list.html", extra_context={
        "page": page,
        "nav": {"selected": "setup"}
        })
コード例 #8
0
ファイル: forms.py プロジェクト: gitter-badger/arecibo
class IssueListForm(Filter):
    status = forms.ChoiceField(choices=states_first_empty,
                               widget=forms.Select,
                               required=False)
    assigned = OurModelChoiceField(required=False,
                                   queryset=User.all().filter(
                                       "is_staff = ", True),
                                   model=User)

    def as_query(self):
        return super(IssueListForm, self).as_query("Issue")
コード例 #9
0
ファイル: views.py プロジェクト: fay/tao
def daily_stat(request):
    current_time = datetime.today()
    today_start = datetime(current_time.year, current_time.month, current_time.day)
    yesterday_start = datetime(current_time.year, current_time.month, current_time.day - 1)

    users = User.all().fetch(1000)
    for user in users:
        count = UserUrl.all().filter('who = ', user).filter('when < ', today_start.date()).filter('when > ', yesterday_start.date()).count()
        #stat = ActStat(who=user, count=count, when=today_start.date())
        #stat.save()

    return HttpResponse()
コード例 #10
0
ファイル: views.py プロジェクト: fay/Nankin
def create_page(request):
    path = request.POST.get('path',None)
    name = request.POST.get('name', None)
    what = request.POST.get('what', None)
    who = users.get_current_user()
    #django user
    who = User.all().filter('user = '******'edit-key', None)
    if path and name and what:
        page = Page(path=path,name=name,who=who,what=what)
        page.save()
        return HttpResponseRedirect('/page/'+path+'/')
    return HttpResponseRedirect('/')
コード例 #11
0
ファイル: forms.py プロジェクト: gitter-badger/arecibo
class UpdateForm(Form):
    status = forms.CharField(required=False,
                             widget=forms.Select(choices=states))
    assigned = OurModelChoiceField(required=False,
                                   queryset=User.all().filter(
                                       "is_staff = ", True),
                                   model=User)
    text = forms.CharField(required=False,
                           label=_("Comments"),
                           widget=forms.Textarea(attrs={
                               "cols": 100,
                               "rows": 10
                           }))
コード例 #12
0
ファイル: views.py プロジェクト: fay/tao
def login(request):
    if get_user():
        return HttpResponseRedirect('/home/')
    if request.POST:
        email = request.POST.get('email', '')
        password = request.POST.get('password', None)
        user = User.all().filter('email = ', email).filter('password = '******'login.html', {'login_error_email':'email或密码错误'}, context_instance=RequestContext(request))
        else:
            user = user.get()
        if not user.is_active:
            return render_to_response('login.html', {'login_error_activate':'该email地址还没有激活'}, context_instance=RequestContext(request))
        session['user'] = user
        return HttpResponseRedirect(request.GET.get('next', '') or request.GET.get('continue', '/'))
    by = request.GET.get('by')
    if by == 'google':
        return HttpResponseRedirect(users.create_login_url(request.GET.get('next', '') or request.GET.get('continue', '/')))

    confirm = request.GET.get('confirm')
    if confirm:
        success = True
        activation = memcache.get(confirm)
        if activation:
            session['user'] = activation.user
            activation.user.is_active = True
            activation.user.put()
            #从memcache中删除
            memcache.delete(confirm)
            #删除激活对象
            activation.delete()
        else:
            success = False
        return render_to_response('login.html', {'is_activation':True, 'is_activation_success':success, 'confirm':confirm}, context_instance=RequestContext(request))

    reconfirm = request.GET.get('reconfirm')
    if reconfirm:
        try:
            activation = Activation.get(reconfirm)
            _send_activate_mail(activation, request)
        except Exception, e:
            logging.error(e)
コード例 #13
0
ファイル: views.py プロジェクト: fay/Nankin
def post(request):
    title = request.POST.get('title', None)
    what = request.POST.get('what', None)
    user = users.get_current_user()
    #django user
    user = User.all().filter('user = '******'tags', None)
    tags = tags.split(",")
    edit_key = request.POST.get('edit-key', None)
    if title and what:
        if edit_key:
            jot = Jot.get(edit_key)
            jot.title = title
            jot.what = what
            jot.tags = tags
            jot.put()
        else:
            jot = Jot(title=title, what=what, tags=tags, who=user)
            jot.create()
    return HttpResponseRedirect("/")
コード例 #14
0
ファイル: user.py プロジェクト: jivemonkey/My-Beer-Diary
def add(request):

    form = UserForm(request.POST)

    if not form.is_valid():
        return render_to_response('user/edit.html',
                                  {'action':'add','form': form})
    
    user = User.all().filter("username ="******"- A user with this username already exists"
        return render_to_response('user/edit.html',
                          {'action':'add','form': form})
        
    user = form.save(commit=False)
    user.set_password(user.password)
    user.save()

    return HttpResponseRedirect('/')
コード例 #15
0
ファイル: views.py プロジェクト: fay/tao
def register(request):
    if get_user():
        return HttpResponseRedirect('/home/')
    #如果是POST方式,则是执行注册操作
    if request.POST:
        email = request.POST.get('email', '')
        password = request.POST.get('password', None)
        if not _email.search(email):
            return render_to_response('login.html', {'error_email':'必须是有效的电子邮件地址', 'is_register':True}, context_instance=RequestContext(request))
        if len(password) < 6 or len(password) > 12:
            return render_to_response('login.html', {'error_password':'******', 'is_register':True}, context_instance=RequestContext(request))
        user = users.User(email)
        query = User.all().filter("user =", user)
        if query.count() == 0:
            django_user = User(user=user, password=password, is_active=False, email=user.email(), username=user.email())
            django_user.save()
            activation = Activation(user=django_user)
            activation.save()
            _send_activate_mail(activation, request)
        else:
            return render_to_response('login.html', {'error_email':'这个Email地址已经在使用了', 'is_register':True}, context_instance=RequestContext(request))
        return render_to_response('login.html', {'is_register':True, 'register_success':True}, context_instance=RequestContext(request))
    #如果是GET方式,即是请求注册页面
    return render_to_response('login.html', {'is_register':True}, context_instance=RequestContext(request))
コード例 #16
0
ファイル: utils.py プロジェクト: alanjds/arecibo
def approved_users():
    return User.all().filter("is_staff = ", True)
コード例 #17
0
ファイル: tests.py プロジェクト: pombredanne/arecibo
 def setUp(self):
     for user in AppUser.all(): user.delete()
     for profile in Profile.all(): profile.delete()
コード例 #18
0
ファイル: user.py プロジェクト: jivemonkey/My-Beer-Diary
def list(request):
    query = User.all()
    return render_to_response('user/list.html',
                              {'users': query.run(),
                               'form': UserForm()})
コード例 #19
0
ファイル: utils.py プロジェクト: pajenterprise/arecibo
def approved_users():
    return User.all().filter("is_staff = ", True)
コード例 #20
0
ファイル: tests.py プロジェクト: andymckay/arecibo
 def setUp(self):
     for error in Error.all(): error.delete()
     for notification in Notification.all(): notification.delete()
     for user in AppUser.all(): user.delete()
     for issue in Issue.all(): issue.delete()
コード例 #21
0
ファイル: tests.py プロジェクト: pajenterprise/arecibo
 def setUp(self):
     for user in AppUser.all(): user.delete()
     for profile in Profile.all(): profile.delete()
コード例 #22
0
ファイル: views.py プロジェクト: fay/tao
def unwatch(request, user_name):
    user = get_user()
    watched_user = User.all().filter('username', user_name).get()
    watch = Watch.all().filter('watcher = ' , user).filter('watched = ' , watched_user).get()
    watch.delete()
    return HttpResponse("")