def create(request): form = forms.SignUpForm(request.POST) if form.is_valid(): account = Account() account.name = form.cleaned_data.get('account_name') account_level = AccountLevel.objects.get_by_code('level_5') account.level = account_level month = datetime.timedelta(days=30) account.expires_at = datetime.date.today() + month account.save() new_account_id = account.id language = form.cleaned_data.get('language') default_category = dict(en='Default Category', es='Categoria por defecto') category_name = default_category[language] category_description = '' category = Category.objects.create(account=account) CategoryI18n.objects.create(language=language, category=category, name=category_name, slug=slugify(category_name), description=category_description) initial_preferences = [ ('account.url', str(new_account_id)), # TODO is for testing accounts ('account.domain', '%d.microsites.dev:8080' % new_account_id), # TODO is for testing accounts ('account.link', 'http://%d.microsites.dev:8080' % new_account_id), # TODO is for testing accounts ('account.api.domain', '%d.api.dev:8080' % new_account_id), # TODO is for testing accounts ('account.name', account.name), ('account.language', language), ('enable.junar.footer', 'on'), ('account.page.titles', account.name), ('account.default.category', category.id), ('account.home', '{"config":{"mainTitle":"Bienvenido","mainSection":"Test text","coverUrl":"http:\/\/datastore.dev:8080\/resources\/datal_cdn\/\/1\/datal-portada.jpg","sliderSection":[],"linkSection":[],"resourcesTable":true},"theme":"4","type":"save"}' ), ('account.has.home', True), ] for ip in initial_preferences: preference = Preference() preference.account = account preference.key = ip[0] preference.value = ip[1] preference.save() user = User() user.nick = form.cleaned_data.get('nick') user.email = form.cleaned_data.get('email') user.password = form.cleaned_data.get('password') user.account = account user.language = language user.name = form.cleaned_data.get('name') user.save() admin_role = Role.objects.get(code=AccountRoles.ADMIN) user.roles.add(admin_role) # login the user request.session['user_id'] = user.id # redirect to landing return redirect('/') else: return redirect('accounts.signup')
def signup(request): form = forms.SignUpForm( initial={'language': request.auth_manager.language}) return render_to_response('accounts/signUp.html', locals())