Exemple #1
0
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')
Exemple #2
0
def signup(request):
    form = forms.SignUpForm(
        initial={'language': request.auth_manager.language})
    return render_to_response('accounts/signUp.html', locals())