Example #1
0
def register(request):

	form = RegisterForm(request.POST or None)
	if form.is_valid():
		username = form.cleaned_data['username']
		email = form.cleaned_data['email']
		password = form.cleaned_data['password2']
		#MyUser.objects.create_user(username=username, email=email, password=password)
		new_user = MyUser()
		new_user.username = username
		new_user.email = email
		new_user.is_active = False
		messages.success(request, "Enregistrement terminé. Votre compte est maintenant en attente d'activation")
		#new_user.password = password #WRONG
		new_user.set_password(password) #RIGHT
		new_user.save()

	action_url = reverse("register")
	title = "Register"
	submit_btn = "Create free account"

	context = {
		"form": form,
		"action_url": action_url,
		"title": title,
		"submit_btn": submit_btn
		}
	return render(request, "registration/registration_form.html", context)
Example #2
0
def add_model(request,model,template_name=""):
	# show_model(request,model,template_name)
	# print();
	result = "";
	if request.method == 'POST':
		print('add')
		if request.POST.get('mode')=='add_cart_item':

			cart.add_to_cart(request)
			cart_items_list = []
			cart_items = cart.get_cart_items(request)
			# serializers.serialize("json", )
			cart_item_count = cart.cart_distinct_item_count(request)
			# result = {'cart_items' : cart_items ,'cart_item_count' : cart_item_count}
			# print(cart_item_count)
			for c in cart_items:
				# print(c)
				item = {}
				item.setdefault('image',c.image())
				item.setdefault('name',c.name())
				item.setdefault('quantity',c.quantity)
				price = str(c.price())
				item.setdefault('unit_price',price)
				total = str(c.total())
				item.setdefault('total_price',total)
				item.setdefault('id',c.id)
				# print(item)
				cart_items_list.append(item)
			# print(cart_items_list)
			# cart_items = serializers.serialize("json", cart_items_list)
			# print(cart_items)
			result = {'cart_items' : cart_items_list ,'cart_item_count' : cart_item_count}
			# print(json.dumps(result))
			print('++++++++++++++++++++++++++++++')
			return HttpResponse(json.dumps(result),content_type='application/javascript; charset=utf-8')				
		else:
			if model == 'people':
				name = request.POST.get('name')
				islug = slug(name)
				category = Category()
				category.name = name
				category.description = request.POST.get('description')
				is_active = request.POST.get('is_active')
				if is_active=="on":
					category.is_active = True
				else:
					category.is_active = False
				category.slug = islug
				category.updated_at = datetime.datetime.now().strftime("%m/%d/%Y")
				category.created_at = datetime.datetime.now().strftime("%m/%d/%Y")
				category.save()
				result = "saved"
				print('add people')
			elif model == 'subcategory':
				subcategory = SubCategory()
				subcategory.name = request.POST.get('name')
				subcategory.description = request.POST.get('description')
				subcategory.slug = slug(subcategory.name)
				is_active = request.POST.get('is_active')
				subcategory.updated_at = datetime.datetime.now().strftime("%m/%d/%Y")
				subcategory.created_at = datetime.datetime.now().strftime("%m/%d/%Y")
				if is_active=="on":
					subcategory.is_active = True
				else:
					subcategory.is_active = False
				subcategory.save()
				selected_c = json.loads(request.POST.get('selected_categories'))
				for s_c in selected_c:
					c = get_object_or_404(Category, slug=s_c)
					subcategory.categories.add(c)
				subcategory.save()		
				print('add subcategory')
			elif model == 'product':
				p = Product()
				postdata = request.POST.copy()
				p.name = postdata.get('name','a')
				product_name = postdata.get('name','a')
				p.brand = postdata.get('brand')
				p.sku = postdata.get('sku')
				p.price = postdata.get('price')
				p.old_price = postdata.get('old_price')
				p.quantity = postdata.get('quantity')
				p.description = postdata.get('description')
				# print(postdata.get('user'))
				user = get_object_or_404(MyUser, username=postdata.get('user'))
				p.user = user
				p.slug = slug(p.name)
				is_active = request.POST.get('is_active')
				if is_active=="on":
					p.is_active = True
				else:
					p.is_active = False
				p.updated_at = datetime.datetime.now().strftime("%m/%d/%Y")
				p.created_at = datetime.datetime.now().strftime("%m/%d/%Y")
				if request.FILES:
					print('image_exist')
					p_main_file=request.FILES['img']
					file_extention = os.path.splitext(str(request.FILES['img']))[1]
					# print(file_extention)
					# file_name = str(request.FILES['img']).split('.')
					# file_extention = file_name[len(file_name)-1]
					image_name = str(user)+'_'+p.name+file_extention
					p_thumbnail_file=request.FILES['img']
					with open(MEDIA_ROOT+'images/products/thumbnails/'+image_name, 'wb+') as destination:
						if p_thumbnail_file.multiple_chunks():
							for chunk in p_thumbnail_file.chunks():
								destination.write(chunk)
						else:
							destination.write(p_thumbnail_file.read())
					with open(MEDIA_ROOT+'images/products/thumbnails/'+image_name, 'rb+') as destination:
						image_file = destination.read()
					with open(MEDIA_ROOT+'images/products/main/'+image_name, 'wb+') as destination:
						destination.write(image_file)
					p.image=image_name
				else:
					print('image_empty')
					p.image='default'
				p.save()
				selected_subc = json.loads(request.POST.get('selected_subcategories'))
				for p_subc in selected_subc:
					subc = get_object_or_404(SubCategory, slug=p_subc)
					p.subcategories.add(subc)
				p.save()
				print('add product')
			elif model == 'myuser':
				user = MyUser()
				postdata = request.POST.copy()
				user.username = postdata.get('name')
				user.first_name = postdata.get('first_name')
				user.last_name = postdata.get('last_name')
				##########change date format###########YYYY-MM-DD
				# date_of_birth = postdata.get('date_of_birth')
				# date_list = date_of_birth.split('/')
				# join_str = '-'
				# user.date_of_birth = join_str.join(date_list)
				user.date_of_birth = postdata.get('date_of_birth')
				########################################
				user.address = postdata.get('address','a')
				user.telephone = postdata.get('telephone')
				user.password = make_password(postdata.get('password'))
				user.is_active = True
				user.is_staff = True
				user.save()
				print('add myuser')
			elif model == 'order':
				order = Order()
				postdata = request.POST.copy()
				myuser = get_object_or_404(MyUser, username=postdata.get('user'))
				print(postdata)
				order.address = myuser.address
				order.phone = myuser.telephone
				order_status = get_object_or_404(OrderStatus, id=postdata.get('status'))
				print(order_status.name)
				order.status = order_status
				order.ip_address = postdata.get('ip_address')
				# user = get_object_or_404(MyUser, username=postdata.get('user'))
				order.user = myuser
				order.transaction_id = postdata.get('transaction_id')
				order.last_updated = datetime.datetime.now().strftime("%m/%d/%Y")	
				order.save()
				print(order.id);
				cart_items = cart.get_cart_items(request)
				for c in cart_items:
					orderitem = OrderItem()
					orderitem.product = c.product
					orderitem.price = c.price()
					orderitem.quantity = c.quantity
					orderitem.order = order
					orderitem.save()
				print('add order')
			elif model == 'orderitem':
				orderitem = OrderItem()
				postdata = request.POST.copy()
				product = get_object_or_404(Product, slug=postdata.get('product'))
				orderitem.product = product
				orderitem.price = product.price
				orderitem.quantity = postdata.get('quantity') 
				order = get_object_or_404(Order, id=postdata.get('order'))
				orderitem.order = order
				orderitem.save()
				print('add orderitem')
			# return show_model(request,model,'')
			url = urlresolvers.reverse('model',kwargs = {'model':model})
			return HttpResponseRedirect(url)
	else:
		app_list = permission_app(request)
		# print('_________________addpermission_________________')
		if check_permission(request,'add',model):
			if model == 'people':
				print('category')
			elif model == 'subcategory':
				category = Category.objects.all()
				print('subcategory')
			elif model == 'product':
				user_list = MyUser.objects.all()
				subcategory = SubCategory.objects.all()
				print('product')
				print(subcategory)
			elif model == 'myuser':
				print('myuser')
			elif model == 'order':
				cart.clean(request)
				user_list = MyUser.objects.all()
				product = Product.objects.all()
				order_status = OrderStatus.objects.all()
					# print(request.GET)
					# print('-------------------------------')
					# cart.add_to_cart(request)
					# cart_items = serializers.serialize("json", cart.get_cart_items(request))
					# cart_item_count = cart.cart_distinct_item_count(request)
					# result = {'cart_items' : cart_items ,'cart_item_count' : cart_item_count}
					# print(result)
					# print('++++++++++++++++++++++++++++++=')
					# return HttpResponse(json.dumps(result),content_type='application/javascript; charset=utf-8')				
				print('order')
			elif model == 'orderitem':
				product = Product.objects.all()
				order_list = Order.objects.all()
				print('orderitem')
			# subcategories = SubCategory.objects.all()
			
			template_name = 'myadmin/add/'+model+'.html'
			return render_to_response(template_name, locals(),context_instance=RequestContext(request))
		else:
			template_name = 'myadmin/err.html'
			return render_to_response(template_name, locals(),context_instance=RequestContext(request))
Example #3
0
def register(request):
    errors= []
    account=None
    password=None
    password2=None
    email=None
    CompareFlag=False
    mobile = None
    role = None
    rules =  Rule.objects.all()
    roles_departments = Roles.objects.all()
    if request.method == 'POST':
        if not request.POST.get('account'):
            errors.append('请输入用户名')
        else:
            account = request.POST.get('account')
            temp_user3 = MyUser.objects.filter(username=account)
            if len(temp_user3) != 0:
                errors.append('该用户名已注册')
        if not request.POST.get('password'):
            errors.append('请输入密码')
        else:
            password = request.POST.get('password')
        if not request.POST.get('password2'):
            errors.append('请再次输入密码')
        else:
            password2 = request.POST.get('password2')
        if not request.POST.get('email'):
            errors.append('请输入邮箱')
        else:
            email = request.POST.get('email')
            temp_user1 = MyUser.objects.filter(email=email)
            if len(temp_user1) != 0:
                errors.append('该邮箱已注册')
        if not request.POST.get('mobile'):
            errors.append('请输入手机号')
        else:
            mobile = request.POST.get('mobile')   
            temp_user2 = MyUser.objects.filter(mobile=mobile)
            if len(temp_user2) != 0:
                errors.append('该手机号已注册')
        if not request.POST.get('role'):
            errors.append('请选择职位')
        else:
            role = request.POST.get('role')
            
        if not request.POST.get('rule'):
            errors.append('请选择角色')
        else:
            rule = request.POST.get('rule')  
             
        if password is not None and password2 is not None:
            if password == password2:
                CompareFlag = True
            else :
                errors.append('两次输入的密码不一致')

        if len(errors)>0:
            return render_to_response('register.html', {'errors': errors,'account':account,'email':email,'mobile':mobile,'rules':rules,'roles_departments':roles_departments})
        if account is not None and password is not None and password2 is not None and email is not None and mobile is not None and role is not None and CompareFlag and len(temp_user1) == 0 and len(temp_user2) == 0 and len(temp_user3) == 0:  
            now = timezone.now()            
            user = MyUser(username=account,last_login=now,date_joined=now,email=email)
            user.is_active = True
            user.set_password(password)
            user.mobile = str(mobile)
#             user.rule = role
            user.save()
            rule_obj = Rule.objects.get(id= int(rule))
            role_obj = Roles.objects.get(id = int(role))
            rules =  Rule.objects.all()
            roles_departments = Roles.objects.all()
            rule_powers = Cor_Rule_Power.objects.filter(RuleID=rule_obj) 
            Cor_User_Rule.objects.get_or_create( 
                                         RuleID=rule_obj, 
                                         UserID=user,
                                        )
            for power in rule_powers:
                Cor_user_Power.objects.get_or_create(
                    PowerID = power.PowerID,
                    UserID =user,
                                                    )

            Cor_role_user_depart.objects.get_or_create( 
                             UserID=user, 
                             RoleID=role_obj,
                                        )  
            add()
            return HttpResponseRedirect('/accounts/login')
            
    else:
        return render_to_response('register.html', {'errors': errors,'account':account,'email':email,'mobile':mobile,'rules':rules,'roles_departments':roles_departments})