mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-22 14:19:28 +00:00
Added RedditAccount as a editable section to users, also added Admin side
This commit is contained in:
12
sso/forms.py
12
sso/forms.py
@@ -2,6 +2,7 @@ from django import forms
|
||||
|
||||
from eve_api.models.api_player import EVEAccount
|
||||
from sso.models import ServiceAccount, Service
|
||||
from reddit.models import RedditAccount
|
||||
|
||||
class EveAPIForm(forms.Form):
|
||||
user_id = forms.CharField(label = u'User ID', max_length=10)
|
||||
@@ -37,3 +38,14 @@ def UserServiceAccountForm(user):
|
||||
password = forms.CharField(label = u'Password',widget = forms.PasswordInput(render_value=False))
|
||||
|
||||
return ServiceAccountForm
|
||||
|
||||
class RedditAccountForm(forms.Form):
|
||||
username = forms.CharField(label = u'User ID', max_length=64)
|
||||
|
||||
def clean(self):
|
||||
try:
|
||||
eaccount = RedditAccount.objects.get(username=self.cleaned_data['username'])
|
||||
except RedditAccount.DoesNotExist:
|
||||
return self.cleaned_data
|
||||
else:
|
||||
raise forms.ValidationError("This User ID is already registered")
|
||||
|
||||
@@ -9,6 +9,9 @@ urlpatterns = patterns('',
|
||||
(r'^profile/del/eveapi/$', views.eveapi_del),
|
||||
(r'^profile/del/eveapi/(?P<userid>\d+)/$', views.eveapi_del),
|
||||
(r'^profile/add/service', views.service_add),
|
||||
(r'^profile/del/service/$', views.eveapi_del),
|
||||
(r'^profile/del/service/$', views.service_del),
|
||||
(r'^profile/del/service/(?P<serviceid>\d+)/$', views.service_del),
|
||||
(r'^profile/add/reddit', views.reddit_add),
|
||||
(r'^profile/del/reddit/$', views.reddit_del),
|
||||
(r'^profile/del/reddit/(?P<redditid>\d+)/$', views.reddit_del),
|
||||
)
|
||||
|
||||
45
sso/views.py
45
sso/views.py
@@ -9,7 +9,9 @@ from eve_api.api_puller.accounts import import_eve_account
|
||||
from eve_api.models.api_player import EVEAccount
|
||||
|
||||
from sso.models import ServiceAccount, SSOUser
|
||||
from sso.forms import EveAPIForm, UserServiceAccountForm
|
||||
from sso.forms import EveAPIForm, UserServiceAccountForm, RedditAccountForm
|
||||
|
||||
from reddit.models import RedditAccount
|
||||
|
||||
import settings
|
||||
|
||||
@@ -30,6 +32,11 @@ def profile(request):
|
||||
srvaccounts = ServiceAccount.objects.filter(user=request.user).all()
|
||||
except ServiceAccount.DoesNotExist:
|
||||
srvaccounts = None
|
||||
|
||||
try:
|
||||
redditaccounts = RedditAccount.objects.filter(user=request.user).all()
|
||||
except ServiceAccount.DoesNotExist:
|
||||
redditaccounts = None
|
||||
|
||||
try:
|
||||
eveaccounts = EVEAccount.objects.filter(user=request.user).all()
|
||||
@@ -118,4 +125,40 @@ def service_del(request, serviceid=0):
|
||||
return HttpResponseRedirect(reverse('sso.views.profile'))
|
||||
|
||||
|
||||
@login_required
|
||||
def reddit_add(request):
|
||||
if request.method == 'POST':
|
||||
form = RedditAccountForm(request.POST)
|
||||
if form.is_valid():
|
||||
|
||||
acc = RedditAccount()
|
||||
|
||||
acc.user = request.user
|
||||
acc.username = form.cleaned_data['username']
|
||||
|
||||
acc.save()
|
||||
return HttpResponseRedirect(reverse('sso.views.profile')) # Redirect after POST
|
||||
else:
|
||||
defaults = { 'username': request.user.username, }
|
||||
form = RedditAccountForm(defaults) # An unbound form
|
||||
|
||||
return render_to_response('sso/redditaccount.html', {
|
||||
'form': form,
|
||||
})
|
||||
|
||||
@login_required
|
||||
def reddit_del(request, redditid=0):
|
||||
if redditid > 0 :
|
||||
try:
|
||||
acc = RedditAccount.objects.get(id=redditid)
|
||||
except RedditAccount.DoesNotExist:
|
||||
return HttpResponseRedirect(reverse('sso.views.profile'))
|
||||
|
||||
if acc.user == request.user:
|
||||
acc.delete()
|
||||
|
||||
return HttpResponseRedirect(reverse('sso.views.profile'))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user