def company_wizard_step_two(request): company_users = Profile.objects.filter( is_super_admin=False, company_id=request.user.profile.company_id).count() default_template = save_email_template(request) if request.user.profile.is_super_admin and company_users == 0: return_status = { 'msg': None, 'emails': [{ 'name': 'email_1', 'class': '', 'value': '', 'style': '' }, { 'name': 'email_2', 'class': '', 'value': '', 'style': '' }, { 'name': 'email_3', 'class': '', 'value': '', 'style': '' }, { 'name': 'email_4', 'class': '', 'value': '', 'style': '' }, { 'name': 'email_5', 'class': '', 'value': '', 'style': '' }] } language = request.user.profile.company.language company_id = request.user.profile.company_id email_exits = False if request.method == "POST": for index, post_email in enumerate(return_status['emails']): request_email = request.POST.get( return_status['emails'][index]['name']) print("request_email", request_email) if User.objects.filter(username=request_email).exists( ) or User.objects.filter(email=request_email).exists(): return_status['emails'][index][ 'style'] = 'border-color: red;' email_exits = True return_status['emails'][index]['value'] = request_email if not email_exits: for index, post_email in enumerate(return_status['emails']): util = Utils() if return_status['emails'][index]['value']: activation_key = hashlib.sha256( return_status['emails'][index]['value'].encode( 'utf-8')).hexdigest()[:30] new_user = User.objects.create_user( username=return_status['emails'][index]['value'], email=return_status['emails'][index]['value'], is_active=False) new_user.save() default_roles = [ 'ROLE_MANAGE_ALL_CONTACT', 'ROLE_MANAGE_ALL_CALENDAR', 'ROLE_MANAGE_ALL_OPPORTUNITY', 'ROLE_MANAGE_ALL_QUOTATION', 'ROLE_MANAGE_ALL_INVOICE', 'ROLE_MANAGE_ALL_SALES', 'ROLE_ACCESS_RIGHT', 'ROLE_ACCESS_SETTING' ] new_user.profile = Profile( activation_key=activation_key, color=util.get_profile_color(new_user.id), company_id=company_id, user_id=new_user.id, language=language, roles=default_roles) new_user.profile.default_sales_channel = get_company_default_channel( company_id) new_user.profile.save() util.send_activation(new_user, new_user.profile, True) return redirect('/welcome/') return render(request, 'web/auth/company_wizard_step_two.html', {'return_status': return_status}) else: return redirect('/dashboard/')
def register(request): util = Utils() roles = settings.DEFAULT_ROLES return_status = { 'msg': '', 'name': '', 'email': '', 'password': '', 'compnay_name': '', 'phone': '' } if request.method == "POST": first_name = request.POST.get("first_name") last_name = request.POST.get("last_name") name = request.POST.get("email") email = request.POST.get("email") password = request.POST.get("password") compnay_name = request.POST.get("compnay_name") phone = request.POST.get("phone") return_status['first_name'] = first_name return_status['last_name'] = last_name return_status['name'] = name return_status['email'] = email return_status['password'] = password return_status['compnay_name'] = compnay_name return_status['phone'] = phone if not User.objects.filter(username=name).exists(): if not User.objects.filter(email=email).exists(): activation_key = hashlib.sha256( email.encode('utf-8')).hexdigest()[:30] user = User.objects.create_user(first_name=first_name, last_name=last_name, username=name, email=email, password=password, last_login=timezone.now()) user.last_login = timezone.now() if user: company = Company(company=compnay_name, email=email, user=user, phone=phone) company.save() profile = Profile(company=company, is_super_admin=True, is_admin=True, color=settings.ADMIN_COLOR, phone=phone, activation_key=activation_key, user=user, roles=roles) profile.save() insert_default_tags(company, user.id) status = save_default_fields(company, user.id, 'English') initalize_modules(company) util.send_activation(user, profile) if (status): user = authenticate(username=name, password=password) login(request, user) sales_channel = add_default_sales_channel_on_signup( request) default_tax = add_default_product_tax(request) if sales_channel: try: profile = Profile.objects.get(user=user) profile.default_sales_channel = sales_channel profile.save() except Profile.DoesNotExist: print("Profile.DoesNotExist") return HttpResponseRedirect('/company-wizard/') else: return HttpResponseRedirect('/register/') else: return_status['msg'] = 'User could not saved!! ' return render(request, 'web/auth/register.html', {'return_status': return_status}) else: return_status['msg'] = 'Email already exits.' return render(request, 'web/auth/register.html', {'return_status': return_status}) else: return_status['msg'] = 'Username already exits.' return render(request, 'web/auth/register.html', {'return_status': return_status}) else: return render(request, 'web/auth/register.html', {'return_status': return_status})