Beispiel #1
0
def confirm_ir(request, ir_id, group_id, user_id):
    print("IR CONFIRMATION")
    c = Bucket('couchbase://localhost/nihongo')
    user_doc = c.get(user_id).value
    password = user_doc['password']
    ir_doc = c.get(ir_id).value


    if 'accept' in request.POST:
        print("IR ACCEPTED")
        ir_doc['confirmed'] = 'accepted'
        sync_user = SyncGateway.get_user(user_id)
        new_sync_user = {}
        admin_channels = sync_user['admin_channels']
        #all_channels = sync_user['all_channels']
        admin_channels.append(group_id)

        SyncGateway.put_user(sync_user['name'], '*****@*****.**', password, admin_channels)
        print(sync_user)

    elif 'decline' in request.POST:
        ir_doc['confirmed'] = 'declined'
        print("IR DECLINED")
    c.upsert(ir_id, ir_doc)
    return HttpResponseRedirect(reverse('tutor:tutor_groups'))
Beispiel #2
0
def register(request):
    args = {}
    args.update(csrf(request))
    args['form'] = UserCreationForm()
    if request.POST:
        newuser_form = UserCreationForm(request.POST)
        if newuser_form.is_valid():
            newuser_form.save()
            newuser = auth.authenticate(username=newuser_form.cleaned_data['username'], password=newuser_form.cleaned_data['password2'])
            auth.login(request, newuser)
            #Adding user to main bucket
            try:
                c = Bucket('couchbase://localhost/nihongo')
                username = newuser_form.cleaned_data['username']
                password = newuser_form.cleaned_data['password2']
                c_username = '******' + username
                new_user = {'username' : username, 'password' : password,  'doc_type' : 'user_doc'}
                doc_channels = [c_username]
                new_user['doc_channels'] = doc_channels
                c.upsert(c_username, new_user)
            except CouchbaseError as ce:
                raise Http404("Couchbase server error")
            #Adding user to sync gateway database
            SyncGateway.put_user(c_username, '*****@*****.**', password, [c_username])
            return redirect('/')
        else:
            args['form'] = newuser_form
    return render_to_response('register.html', args)
Beispiel #3
0
 def test_create_session(self):
     SyncGateway.put_user("username1", "*****@*****.**", "password",
                          ["public"])
     res = SyncGateway.create_session("username1")
     self.assertEqual(res.status_code, 200)
     res = SyncGateway.create_session("username1", ttl=60 * 60 * 24)
     self.assertEqual(res.status_code, 200)
Beispiel #4
0
 def test_remove_channels(self):
     c = str(uuid4())
     new_c1 = str(uuid4())
     new_c2 = str(uuid4())
     username = "******"
     SyncGateway.put_user(username, "*****@*****.**", "password", ["public", c, new_c1, new_c2])
     SyncGateway.remove_channels(username, [new_c1, new_c2])
     d = SyncGateway.get_user(username)
     self.assertIn(c, d["admin_channels"])
     self.assertIn("public", d["admin_channels"])
     self.assertNotIn(new_c1, d["admin_channels"])
     self.assertNotIn(new_c2, d["admin_channels"])
     self.assertEqual(2, len(d["admin_channels"]))
Beispiel #5
0
 def test_remove_channels(self):
     c = str(uuid4())
     new_c1 = str(uuid4())
     new_c2 = str(uuid4())
     username = '******'
     SyncGateway.put_user(username, "*****@*****.**", "password",
                          ["public", c, new_c1, new_c2])
     SyncGateway.remove_channels(username, [new_c1, new_c2])
     d = SyncGateway.get_user(username)
     self.assertIn(c, d['admin_channels'])
     self.assertIn('public', d['admin_channels'])
     self.assertNotIn(new_c1, d['admin_channels'])
     self.assertNotIn(new_c2, d['admin_channels'])
     self.assertEqual(2, len(d['admin_channels']))
Beispiel #6
0
 def test_delete_user(self):
     res = SyncGateway.put_user("username1", "*****@*****.**", "password",
                                ["public"])
     res = SyncGateway.delete_user("username1")
     self.assertTrue(res)
     with self.assertRaises(SyncGatewayException):
         SyncGateway.get_user("*****@*****.**")
Beispiel #7
0
 def test_append_channels(self):
     c = str(uuid4())
     new_c1 = str(uuid4())
     new_c2 = str(uuid4())
     username = '******'
     SyncGateway.put_user(
         username,
         "*****@*****.**",
         "password",
         ["public", c]
     )
     SyncGateway.append_channels(username, [new_c1, new_c2])
     d = SyncGateway.get_user(username)
     self.assertIn(c, d['admin_channels'])
     self.assertIn('public', d['admin_channels'])
     self.assertIn(new_c1, d['admin_channels'])
     self.assertIn(new_c2, d['admin_channels'])
     self.assertEqual(4, len(d['admin_channels']))
Beispiel #8
0
 def test_change_username(self):
     res = SyncGateway.put_user("*****@*****.**", "*****@*****.**", "password", ["public", "boo"])
     res = SyncGateway.change_username("*****@*****.**", "*****@*****.**", "password")
     self.assertTrue(res)
     d = SyncGateway.get_user("*****@*****.**")
     self.assertEqual(d["name"], "*****@*****.**")
     self.assertEqual(d["email"], "*****@*****.**")
     self.assertIn("boo", d["admin_channels"])
     with self.assertRaises(SyncGatewayException):
         SyncGateway.get_user("*****@*****.**")
Beispiel #9
0
 def test_change_username(self):
     res = SyncGateway.put_user("*****@*****.**", "*****@*****.**", "password", ["public", 'boo'])
     res = SyncGateway.change_username("*****@*****.**", "*****@*****.**", "password")
     self.assertTrue(res)
     d = SyncGateway.get_user("*****@*****.**")
     self.assertEqual(d['name'], "*****@*****.**")
     self.assertEqual(d['email'], "*****@*****.**")
     self.assertIn('boo', d['admin_channels'])
     with self.assertRaises(SyncGatewayException):
         SyncGateway.get_user("*****@*****.**")
Beispiel #10
0
 def test_get_user(self):
     SyncGateway.put_user("*****@*****.**", "*****@*****.**", "password", ["public"])
     d = SyncGateway.get_user("*****@*****.**")
     self.assertEqual(d["name"], "*****@*****.**")
     self.assertEqual(d["email"], "*****@*****.**")
Beispiel #11
0
 def test_create_session(self):
     SyncGateway.put_user("username1", "*****@*****.**", "password", ["public"])
     res = SyncGateway.create_session("username1")
     self.assertEqual(res.status_code, 200)
     res = SyncGateway.create_session("username1", ttl=60 * 60 * 24)
     self.assertEqual(res.status_code, 200)
Beispiel #12
0
 def test_delete_user(self):
     res = SyncGateway.put_user("username1", "*****@*****.**", "password", ["public"])
     res = SyncGateway.delete_user("username1")
     self.assertTrue(res)
     with self.assertRaises(SyncGatewayException):
         SyncGateway.get_user("*****@*****.**")
Beispiel #13
0
 def test_create_user(self):
     res = SyncGateway.put_user("username1", "*****@*****.**", "password", ["public"])
     self.assertTrue(res)
Beispiel #14
0
 def test_get_user(self):
     SyncGateway.put_user("*****@*****.**", "*****@*****.**", "password", ["public"])
     d = SyncGateway.get_user("*****@*****.**")
     self.assertEqual(d['name'], "*****@*****.**")
     self.assertEqual(d['email'], "*****@*****.**")
Beispiel #15
0
 def test_create_user(self):
     res = SyncGateway.put_user("username1", "*****@*****.**", "password", ["public"])
     self.assertTrue(res)