Skip to content

Commit

Permalink
allow regular users to create raids and make sure new users have corr…
Browse files Browse the repository at this point in the history
…ect permissions
  • Loading branch information
thegreatape committed Aug 10, 2009
1 parent 8ed6edb commit 45979ba
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 2 deletions.
55 changes: 55 additions & 0 deletions raid_calendar/migrations/0006_add_group.py
@@ -0,0 +1,55 @@
from django.contrib.auth.models import User, Permission, Group
from south.db import db
from django.db import models
from raid_scheduler.raid_calendar.models import *

class Migration:

def forwards(self, orm):
raider_group = Group.objects.get(name='Raider')
for user in User.objects.all():
if not user.is_staff:
user.groups.add(raider_group)
user.is_staff = True
user.save()


def backwards(self, orm):
"Write your backwards migration here"


models = {
'raid_calendar.registration': {
'applied_weight': ('models.IntegerField', [], {'null': 'True', 'blank': 'True'}),
'id': ('models.AutoField', [], {'primary_key': 'True'}),
'number': ('models.IntegerField', [], {'null': 'True', 'blank': 'True'}),
'player': ('models.ForeignKey', ['User'], {}),
'raid': ('models.ForeignKey', ['Raid'], {}),
'role': ('models.CharField', [], {'max_length': '256'}),
'standby': ('models.BooleanField', [], {'default': 'False'}),
'won': ('models.BooleanField', [], {'null': 'True', 'blank': 'True'})
},
'auth.user': {
'_stub': True,
'id': ('models.AutoField', [], {'primary_key': 'True'})
},
'raid_calendar.raid': {
'date': ('models.DateTimeField', ["'date/time of the raid'"], {}),
'description': ('models.TextField', [], {}),
'dps_spots': ('models.IntegerField', [], {}),
'has_rolled': ('models.BooleanField', [], {'default': 'False'}),
'healer_spots': ('models.IntegerField', [], {}),
'id': ('models.AutoField', [], {'primary_key': 'True'}),
'registered': ('models.ManyToManyField', ['User'], {'related_name': '"registered_raiders"', 'through': '"Registration"', 'blank': 'True'}),
'roll_date': ('models.DateTimeField', ["'time when spots will be automatically rolled for'"], {}),
'tank_spots': ('models.IntegerField', [], {}),
'title': ('models.CharField', [], {'max_length': '256'})
},
'raid_calendar.userprofile': {
'id': ('models.AutoField', [], {'primary_key': 'True'}),
'user': ('models.ForeignKey', ['User'], {'unique': 'True'}),
'weight': ('models.IntegerField', [], {'default': '0'})
}
}

complete_apps = ['raid_calendar']
10 changes: 8 additions & 2 deletions raid_calendar/views.py
@@ -1,7 +1,7 @@
from django.http import HttpResponse, HttpResponseRedirect
from django.template import RequestContext
from django.shortcuts import render_to_response, get_object_or_404
from django.contrib.auth.models import User
from django.contrib.auth.models import User, Group
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.decorators import login_required
from django.contrib.auth import logout
Expand Down Expand Up @@ -76,7 +76,13 @@ def create_user(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
User.objects.create_user(form.cleaned_data['username'], '', form.cleaned_data['password1'])
user = User.objects.create_user(form.cleaned_data['username'], '', form.cleaned_data['password1'])
profile = UserProfile(user=user)
profile.save()
raider_group = Group.objects.get(name='Raider')
user.groups.add(raider_group)
user.is_staff = True
user.save()
return HttpResponseRedirect(reverse('home'))
else:
return render_to_response('home/signup.djhtml', {'form': form})
Expand Down

0 comments on commit 45979ba

Please sign in to comment.