def create_readtracking_on_userprofile_create(sender, instance, created, **kwargs): if created: instance.forum_group = Group.default_group() instance.save() ReadTracking.objects.create(profile=instance)
def add_group(request): if request.user.is_authenticated(): json_obj = json.loads(request.body) group_name = json_obj['group_name'] group_obj = Group(group_name=group_name) group_obj.save() return HttpResponse(json.dumps({ "validation": "New Group created Successfully...", "status": True }), content_type="application/json") else: return HttpResponse(json.dumps({ "validation": "You are not logged in yet.Please login to continue." }), content_type="application/json")
def items(self): """ Returns new posts in forums, which anonymous users can access """ group = Group.anonymous_group() visible_forums_ids = list(group.permission_set.values_list('forum_id', flat=True)) posts = Post.objects.get_visible_posts().\ filter(topic__forum__id__in=visible_forums_ids).\ order_by('-date').\ select_related()[:settings.FORUM_FEED_ITEMS_COUNT] return posts
def create_group(name, description, parent, parameter_names=None): try: group_type = GroupType.objects.first() group = Group(name=name, description=description, parent=parent, type=group_type) group.save() # set permissions for group gp = GlobalPreferences.get() gp.group_type_order_filter.add(group.type) for profile in UserProfile.objects.all(): GroupRoleMembership.objects.bulk_create([ GroupRoleMembership(group=group, profile=profile, role=role) for role in Role.assignable_objects.all() ]) group.save() if parameter_names: for parameter_name in parameter_names: add_parameter(object=group, parameter_name=parameter_name) return True, group except: return False, name
def test_send_update_ping(settings): with unittest.mock.patch.object( discourse_sso, "DiscourseSigner" ) as fake_discourse_signer_cls, unittest.mock.patch.object( requests, "post") as fake_send_post: fake_discourse_signer = fake_discourse_signer_cls.return_value fake_discourse_signer.sign.return_value = ("payload", "signature") user = UserFactory.create( email="*****@*****.**", username="******", full_name="Foo Bar", mc_username="******", gh_username="******", irc_nick="XxXmeepXxX", discord_tag="foobar#1234", ) groups = { n: Group(name=n, internal_name=n, internal_only=False) for n in [ "aardvark", "banana", "carrot", "gingerbread", "horseradish", "indigo" ] } Group.objects.bulk_create(groups.values()) user.groups.set(groups[a] for a in ["aardvark", "banana", "carrot"]) user.save() settings.SSO_ENDPOINTS = TEST_SSO_ENDPOINTS send_update_ping(user) django_rq.get_worker().work(burst=True) fake_send_post.assert_called_once_with( "http://discourse.example.com/admin/users/sync_sso", data={ "sso": "payload", "sig": "signature", "api_key": "discourse-api-key", "api_username": "******" }, ) fake_discourse_signer.sign.assert_called_once_with({ "nonce": str(user.id), "email": "*****@*****.**", "require_activation": "false", "external_id": user.id, "username": "******", "name": "Foo Bar", "custom.user_field_1": "meep", "custom.user_field_2": "XxXmeepXxX", "custom.user_field_3": "meeep", "custom.user_field_4": "foobar#1234", "moderator": False, "admin": False, "add_groups": "aardvark,banana,carrot", "remove_groups": "gingerbread,horseradish,indigo", })
def save_edit_account(request): if request.user.is_authenticated(): json_obj = json.loads(request.body) accountInfo = json_obj['accountInfo'] account_id = json_obj["account_id"] account_name = accountInfo.get("account_name") alias = accountInfo.get("alias") group = accountInfo.get("group") grouptype = group.get("id") first_name = accountInfo.get("firstName") last_name = accountInfo.get("lastName") email = accountInfo.get("email") address_line1 = accountInfo.get("addressLine1") address_line2 = accountInfo.get("addressLine2") city = accountInfo.get("city") state = accountInfo.get("state") country = accountInfo.get("country") pin_code = accountInfo.get("pincode") contact_no = accountInfo.get("mobileNo0") contact_no1 = accountInfo.get("mobileNo1") opening_balance = accountInfo.get("openingBalance") accounttype = accountInfo.get("accounttype") accountTypeOptionId = accounttype.get("id") user_obj = User.objects.get(id=request.user.id) accounttype_obj = AccountType.objects.get( optionType=accountTypeOptionId) group_obj = Group(optionType=grouptype) group_obj.save() account_obj = Account.objects.get(id=account_id) account_obj.account_name = account_name account_obj.first_name = first_name account_obj.last_name = last_name account_obj.alias = alias account_obj.email = email account_obj.address_line1 = address_line1 account_obj.address_line2 = address_line2 account_obj.contact_no = contact_no account_obj.contact_no1 = contact_no1 account_obj.city = city account_obj.state = state account_obj.country = country account_obj.pin_code = pin_code account_obj.opening_balance = opening_balance account_obj.group = group_obj account_obj.accounttype = accounttype_obj account_obj.save() userdetail_obj = UserDetail.objects.get(user__id=request.user.id) userdetail_obj.account.add(account_obj) userdetail_obj.save() return HttpResponse(json.dumps({ "validation": "Account details updated Successfully", "status": True }), content_type="application/json") else: return HttpResponse(json.dumps({ "validation": "You are not logged in yet.Please login to continue." }), content_type="application/json")
def create_new_user_account(request): if request.user.is_authenticated(): print request.body print request.user json_obj = json.loads(request.body) accountInfo = json_obj['accountInfo'] account_name = accountInfo.get("account_name") alias = accountInfo.get("alias") group = accountInfo.get("group") grouptype = group.get("id") first_name = accountInfo.get("firstName") last_name = accountInfo.get("lastName") email = accountInfo.get("email") address_line1 = accountInfo.get("addressLine1") address_line2 = accountInfo.get("addressLine2") city = accountInfo.get("city") state = accountInfo.get("state") country = accountInfo.get("country") try: pin_code = accountInfo.get("pincode") except ValueError: return HttpResponse(json.dumps([{ "validation": "Please Enter Valid PinCode.", "status": False }]), content_type="application/json") contact_no = accountInfo.get("mobileNo0") contact_no1 = accountInfo.get("mobileNo1") opening_balance = accountInfo.get("openingBalance") accounttype = accountInfo.get("accounttype") accounttype = accounttype.get("id") user_obj = User.objects.get(id=request.user.id) accounttype_obj = AccountType(optionType=accounttype) accounttype_obj.save() group_obj = Group(optionType=grouptype) group_obj.save() account_obj = Account(first_name=first_name, last_name=last_name, email=email, address_line1=address_line1, city=city, state=state, country=country, pin_code=pin_code, contact_no=contact_no, contact_no1=contact_no1, account_name=account_name, opening_balance=opening_balance, group=group_obj, accounttype=accounttype_obj) account_obj.save() userdetail_obj = UserDetail.objects.get(user__id=request.user.id) userdetail_obj.account.add(account_obj) userdetail_obj.save() return HttpResponse(json.dumps({ "validation": "New Account created Successfully", "status": True }), content_type="application/json") else: return HttpResponse(json.dumps({ "validation": "You are not logged in yet.Please login to continue." }), content_type="application/json")
def register_new_user(request): json_obj = json.loads(request.body) json_obj = json_obj['userInfo'] if User.objects.filter(username=json_obj['userName']).exists(): print "Username already Exist." return HttpResponse(json.dumps({ "validation": "Username is already exist.", "status": False }), content_type="application/json") username = json_obj['userName'] first_name = json_obj['firstName'] last_name = json_obj['lastName'] password = json_obj['password'] password1 = json_obj['confirmPassword'] if password != password1: print "Passwords Are not Matching" return HttpResponse(json.dumps({ "validation": "Passwords are not Matched", "status": False }), content_type="application/json") email = validateEmail(json_obj['email']) if email != True: print "Email is already Exist." return HttpResponse(json.dumps({ "validation": "Email is already exist.Try with another Email.", "status": False }), content_type="application/json") else: email = json_obj['email'] if json_obj['addressLine1'] is None: return HttpResponse(json.dumps({ "validation": "Please Enter Your Address...!", "status": False }), content_type="application/json") else: address_line1 = json_obj['addressLine1'] address_line2 = json_obj['addressLine2'] contact_no = json_obj['mobileNo0'] contact_no = int(contact_no) contact_no = validate_mobile(str(contact_no)) if contact_no == False: return HttpResponse(json.dumps([{ "validation": "This mobile number is already used..please try with another one.", "status": False }]), content_type="application/json") else: contact_no1 = json_obj['mobileNo1'] city = json_obj['city'] state = json_obj['state'] country = json_obj['country'] pin_code = json_obj['pincode'] accounttype_obj = AccountType(optionType=1) accounttype_obj.save() group_obj_for_bank_acc = Group(optionType=0) group_obj_for_bank_acc.save() group_obj_for_cash_acc = Group(optionType=4) group_obj_for_cash_acc.save() bank_account_name = "My Bank Account" cash_account_name = "My Cash Account" bank_account_obj = Account(account_name=bank_account_name, first_name=first_name, last_name=last_name, contact_no=contact_no, address_line1=address_line1, city=city, state=state, country=country, pin_code=pin_code, accounttype=accounttype_obj, group=group_obj_for_bank_acc) bank_account_obj.save() cash_account_obj = Account(account_name=cash_account_name, first_name=first_name, last_name=last_name, contact_no=contact_no, address_line1=address_line1, city=city, state=state, country=country, pin_code=pin_code, accounttype=accounttype_obj, group=group_obj_for_cash_acc) cash_account_obj.save() user_obj = User(first_name=first_name, last_name=last_name, username=username, email=email, password=password) user_obj.set_password(password) user_obj.save() userdetail_obj = UserDetail(user=user_obj, address_line1=address_line1, address_line2=address_line2, contact_no=contact_no, city=city, state=state, country=country, pin_code=pin_code, contact_no1=contact_no1, bank_account=bank_account_obj, cash_account=cash_account_obj) userdetail_obj.save() print "Registration Successful" return HttpResponse(json.dumps({ "validation": "Registration Successful.", "redirecturl": "#/login", "status": True }), content_type="application/json")