本文整理汇总了Python中treemap.models.InstanceUser类的典型用法代码示例。如果您正苦于以下问题:Python InstanceUser类的具体用法?Python InstanceUser怎么用?Python InstanceUser使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了InstanceUser类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: setUp
def setUp(self):
self.instance = make_instance()
self.user = make_user(username='user', password='user')
self.role = Role(name='role', instance=self.instance, rep_thresh=0)
self.role.save()
self.user_perm, __ = FieldPermission.objects.get_or_create(
model_name='Plot', field_name='width',
permission_level=FieldPermission.NONE,
role=self.role, instance=self.instance)
iuser = InstanceUser(instance=self.instance, user=self.user,
role=self.role)
iuser.save_with_user(self.user)
inst_role = Role(name='inst def role',
instance=self.instance,
rep_thresh=0)
inst_role.save()
self.inst_perm, __ = FieldPermission.objects.get_or_create(
model_name='Plot', field_name='width',
permission_level=FieldPermission.NONE,
role=inst_role, instance=self.instance)
self.instance.default_role = inst_role
self.instance.save()
self.plot = Plot(instance=self.instance)
示例2: test_can_change_admin_without_feature
def test_can_change_admin_without_feature(self):
iuser = InstanceUser(user=self.user2, instance=self.instance,
role=self.instance.default_role)
iuser.save_with_user(self.commander)
body = {'users':
{iuser.pk: {'admin': False}}}
update_user_roles(
make_request(method='POST',
body=json.dumps(body),
user=self.commander),
self.instance)
#requery iuser
iuser = InstanceUser.objects.get(pk=iuser.pk)
self.assertEqual(iuser.admin, False)
body = {'users':
{iuser.pk: {'admin': True}}}
update_user_roles(
make_request(method='POST',
body=json.dumps(body),
user=self.commander),
self.instance)
#requery iuser
iuser = InstanceUser.objects.get(pk=iuser.pk)
self.assertEqual(iuser.admin, True)
示例3: setup_env
def setup_env(self, *args, **options):
""" Create some seed data """
instance = Instance.objects.get(pk=options['instance'])
try:
user = User.system_user()
except User.DoesNotExist:
self.stdout.write('Error: Could not find a superuser to use')
return 1
instance_user = user.get_instance_user(instance)
if instance_user is None:
r = Role(name='global', rep_thresh=0, instance=instance)
r.save()
instance_user = InstanceUser(instance=instance,
user=user,
role=r)
instance_user.save_with_user(user)
self.stdout.write('Added system user to instance with global role')
for field in Plot._meta.get_all_field_names():
_, c = FieldPermission.objects.get_or_create(
model_name='Plot',
field_name=field,
role=instance_user.role,
instance=instance,
permission_level=FieldPermission.WRITE_DIRECTLY)
if c:
self.stdout.write('Created plot permission for field "%s"'
% field)
for field in Tree._meta.get_all_field_names():
_, c = FieldPermission.objects.get_or_create(
model_name='Tree',
field_name=field,
role=instance_user.role,
instance=instance,
permission_level=FieldPermission.WRITE_DIRECTLY)
if c:
self.stdout.write('Created tree permission for field "%s"'
% field)
dt = 0
dp = 0
if options.get('delete', False):
for t in Tree.objects.all():
t.delete_with_user(user)
dt += 1
for p in Plot.objects.all():
p.delete_with_user(user)
dp += 1
self.stdout.write("Deleted %s trees and %s plots" % (dt, dp))
return instance, user
示例4: setup_env
def setup_env(self, *args, **options):
""" Create some seed data """
if options['instance']:
instance = Instance.objects.get(pk=options['instance'])
elif options['instance_url_name']:
instance = Instance.objects.get(
url_name=options['instance_url_name'])
else:
raise Exception("must provide instance")
try:
user = User.system_user()
except User.DoesNotExist:
self.stdout.write('Error: Could not find a superuser to use')
return 1
instance_user = user.get_instance_user(instance)
if instance_user is None:
r = Role.objects.get_or_create(name=Role.ADMINISTRATOR,
rep_thresh=0,
instance=instance,
default_permission=3)
instance_user = InstanceUser(instance=instance,
user=user,
role=r[0])
instance_user.save_with_user(user)
self.stdout.write(
'Added system user to instance with ADMINISTRATOR role')
add_default_permissions(instance)
dt = 0
dp = 0
if options.get('delete', False):
for t in Tree.objects.all():
t.delete_with_user(user)
dt += 1
for p in Plot.objects.all():
p.delete_with_user(user)
dp += 1
self.stdout.write("Deleted %s trees and %s plots" % (dt, dp))
dr = 0
if options.get('delete_resources', False):
for f in MapFeature.objects.all():
if f.feature_type != 'Plot':
f.delete_with_user(user)
dr += 1
self.stdout.write("Deleted %s resources" % dr)
return instance, user
示例5: test_email_already_bound
def test_email_already_bound(self):
iuser = InstanceUser(user=self.user1, instance=self.instance,
role=self.instance.default_role)
iuser.save_with_user(self.commander)
body = {'email': self.user1.email}
self.assertRaises(ValidationError,
create_user_role,
make_request(method='POST',
body=json.dumps(body),
user=self.commander),
self.instance)
示例6: make_user
def make_user(instance=None, username='username', make_role=None,
admin=False, password='password'):
"""
Create a User with the given username, and an InstanceUser for the
given instance. The InstanceUser's role comes from calling make_role()
(if provided) or from the instance's default role.
"""
user = make_plain_user(username, password)
if instance:
role = make_role(instance) if make_role else instance.default_role
iuser = InstanceUser(instance=instance, user=user,
role=role, admin=admin)
iuser.save_with_user(user)
return user
示例7: setUp
def setUp(self):
self.p1 = Point(0, 0)
self.p2 = Point(5, 5)
self.instance1 = make_instance(point=self.p1)
self.user = make_user_with_default_role(self.instance1, 'auser')
self.global_role = self.instance1.default_role
self.instance2 = make_instance(name='i2')
self.instance2.save()
iuser = InstanceUser(instance=self.instance2, user=self.user,
role=self.global_role)
iuser.save_with_user(self.user)
for i in [self.instance1, self.instance2]:
FieldPermission(model_name='Plot', field_name='geom',
permission_level=FieldPermission.WRITE_DIRECTLY,
role=self.global_role,
instance=i).save()
FieldPermission(model_name='Tree', field_name='plot',
permission_level=FieldPermission.WRITE_DIRECTLY,
role=self.global_role,
instance=i).save()
self.plot1 = Plot(geom=self.p1, instance=self.instance1)
self.plot1.save_with_user(self.user)
self.plot2 = Plot(geom=self.p2, instance=self.instance2)
self.plot2.save_with_user(self.user)
tree_combos = [
(self.plot1, self.instance1, True),
(self.plot1, self.instance1, False),
(self.plot2, self.instance2, True),
(self.plot2, self.instance2, False),
]
for tc in tree_combos:
plot, instance, readonly = tc
t = Tree(plot=plot, instance=instance, readonly=readonly)
t.save_with_user(self.user)
示例8: add_user_to_instance
def add_user_to_instance(request, user, instance, admin_user):
iuser_already_exists = (InstanceUser.objects
.filter(user_id=user.pk,
instance=instance).exists())
if iuser_already_exists:
raise ValidationError(_("A user with email address '%s' has already "
"joined this map.") % user.email)
iuser = InstanceUser(user_id=user.pk,
instance=instance,
role=instance.default_role)
iuser.save_with_user(admin_user)
ctxt = {'request': request,
'instance': instance}
send_email('invite_to_existing_user', ctxt, (user.email,))
示例9: setUp
def setUp(self):
self.p1 = Point(0, 0)
self.p2 = Point(5, 5)
self.instance1 = make_instance(point=self.p1)
self.instance1.default_role.instance_permissions.add(
*Role.model_permissions((Plot, Tree)))
self.user = make_user_with_default_role(self.instance1, 'auser')
self.instance1.default_role.instance_permissions.add(
*Role.model_permissions((Plot, Tree)))
self.instance2 = make_instance(name='i2')
self.instance2.save()
iuser = InstanceUser(instance=self.instance2, user=self.user,
role=self.instance1.default_role)
iuser.save_with_user(self.user)
self.plot1 = Plot(geom=self.p1, instance=self.instance1)
self.plot1.save_with_user(self.user)
self.plot2 = Plot(geom=self.p2, instance=self.instance2)
self.plot2.save_with_user(self.user)
tree_combos = [
(self.plot1, self.instance1, True),
(self.plot1, self.instance1, False),
(self.plot2, self.instance2, True),
(self.plot2, self.instance2, False),
]
for plot, instance, readonly in tree_combos:
t = Tree(plot=plot, instance=instance, readonly=readonly)
t.save_with_user(self.user)
示例10: create_instance_users_from_invites
def create_instance_users_from_invites(request, user, invites):
ctxt = {'user': user,
'request': request}
for invite in invites:
instance = invite.instance
iuser = InstanceUser(user=user,
instance=instance,
role=invite.role,
admin=invite.admin)
iuser.save_with_user(user)
invite.accepted = True
invite.save()
# The user who created the invitation is always notified when the
# invitation is accepted. A plugin function provides additional email
# addresses. The concatenation of the two lists is wrapped with `set()`
# to remove duplicates.
emails_to_notify = set(
[invite.created_by.email]
+ invitation_accepted_notification_emails(invite)
)
send_email('user_joined_instance', ctxt, emails_to_notify)
示例11: test_user_roles_updated
def test_user_roles_updated(self):
iuser = InstanceUser(user=self.user2, instance=self.instance,
role=self.instance.default_role)
iuser.save_with_user(self.commander)
new_role = Role(name='Ambassador', instance=self.instance,
rep_thresh=0)
new_role.save()
body = {'users':
{iuser.pk:
{'role': new_role.pk, 'admin': False}}}
update_user_roles(
make_request(method='POST',
body=json.dumps(body),
user=self.commander),
self.instance)
#requery iuser
iuser = InstanceUser.objects.get(pk=iuser.pk)
self.assertEqual(iuser.role, new_role)
self.assertEqual(iuser.admin, False)
body = {'users':
{iuser.pk: {'role': new_role.pk, 'admin': True}}}
update_user_roles(
make_request(method='POST',
body=json.dumps(body),
user=self.commander),
self.instance)
#requery iuser
iuser = InstanceUser.objects.get(pk=iuser.pk)
self.assertEqual(iuser.role, new_role)
self.assertEqual(iuser.admin, True)
示例12: setUp
def setUp(self):
self.instance = make_instance()
self.commander = make_commander_user(self.instance, "comm")
# Note unicode '⅀' is on purpose
self.user1 = User(
username="estraven",
password="estraven",
email="[email protected]",
organization="karhide",
first_name="therem",
last_name="⅀straven",
)
self.user1.save_with_user(self.commander)
self.user2 = User(
username="genly",
password="genly",
email="[email protected]",
first_name="genly",
last_name="ai",
allow_email_contact=True,
)
self.user2.save_with_user(self.commander)
self.user3 = User(username="argaven_xv", password="argaven_xv", email="[email protected]")
self.user3.save_with_user(self.commander)
role = make_commander_role(self.instance)
iuser1 = InstanceUser(instance=self.instance, user=self.user1, role=role)
iuser1.save_with_user(self.user1)
iuser2 = InstanceUser(instance=self.instance, user=self.user2, role=role)
iuser2.save_with_user(self.user2)
self.plot = Plot(geom=self.instance.center, readonly=False, instance=self.instance, width=4)
self.plot.save_with_user(self.user1)
self.tree = Tree(instance=self.instance, plot=self.plot, diameter=3)
self.tree.save_with_user(self.user2)
示例13: setUp
def setUp(self):
self.instance = make_instance()
self.commander = make_commander_user(self.instance, "comm")
# Note unicode '⅀' is on purpose
self.user1 = User(username='estraven', password='estraven',
email='[email protected]',
organization='org111',
first_name='therem', last_name='⅀straven')
self.user1.save_with_user(self.commander)
self.user2 = User(username='genly', password='genly',
email='[email protected]',
first_name='genly', last_name='ai',
allow_email_contact=True)
self.user2.save_with_user(self.commander)
self.user3 = User(username='argaven_xv', password='argaven_xv',
email='[email protected]')
self.user3.save_with_user(self.commander)
role = make_commander_role(self.instance)
iuser1 = InstanceUser(instance=self.instance, user=self.user1,
role=role)
iuser1.save_with_user(self.user1)
iuser2 = InstanceUser(instance=self.instance, user=self.user2,
role=role)
iuser2.save_with_user(self.user2)
pt = Point(0, 0)
self.plot = Plot(geom=pt, readonly=False, instance=self.instance,
width=4)
self.plot.save_with_user(self.user1)
self.tree = Tree(instance=self.instance, plot=self.plot, diameter=3)
self.tree.save_with_user(self.user2)
示例14: setup_env
def setup_env(self, *args, **options):
""" Create some seed data """
if options['instance']:
instance = Instance.objects.get(pk=options['instance'])
elif options['instance_url_name']:
instance = Instance.objects.get(
url_name=options['instance_url_name'])
else:
raise Exception("must provide instance")
try:
user = User.system_user()
except User.DoesNotExist:
self.stdout.write('Error: Could not find a superuser to use')
return 1
instance_user = user.get_instance_user(instance)
if instance_user is None:
r = Role.objects.get_or_create(name=Role.ADMINISTRATOR,
rep_thresh=0,
instance=instance,
default_permission=3)
instance_user = InstanceUser(instance=instance,
user=user,
role=r[0])
instance_user.save_with_user(user)
self.stdout.write(
'Added system user to instance with ADMINISTRATOR role')
add_default_permissions(instance)
if options.get('delete', False):
# Can't delete through the ORM because it will pull all the data
# into memory for signal handlers, then run out of memory and crash
# BUT... cascading delete is not handled at the DB level, so we
# need to delete from all related tables in the right order
n_photo = MapFeaturePhoto.objects.filter(instance=instance).count()
with connection.cursor() as cursor:
cursor.execute(
"""
DELETE FROM treemap_treephoto t
WHERE t.mapfeaturephoto_ptr_id IN
(SELECT id
FROM treemap_mapfeaturephoto p
WHERE p.instance_id = %s)
""",
(instance.pk,))
with connection.cursor() as cursor:
cursor.execute(
'DELETE FROM treemap_mapfeaturephoto t WHERE t.instance_id = %s', # NOQA
(instance.pk,))
self.stdout.write("Deleted %s photos" % n_photo)
n_trees = Tree.objects.filter(instance=instance).count()
with connection.cursor() as cursor:
cursor.execute(
'DELETE FROM treemap_tree t WHERE t.instance_id = %s',
(instance.pk,))
self.stdout.write("Deleted %s trees" % n_trees)
n_favorites = Favorite.objects \
.filter(map_feature__instance=instance).count()
with connection.cursor() as cursor:
cursor.execute(
"""
DELETE FROM treemap_favorite f
WHERE f.map_feature_id IN
(SELECT id
FROM treemap_mapfeature m
WHERE m.instance_id = %s)
""",
(instance.pk,))
self.stdout.write("Deleted %s favorites" % n_favorites)
n_comments = EnhancedThreadedComment.objects \
.filter(instance=instance).count()
with connection.cursor() as cursor:
cursor.execute(
"""
DELETE FROM otm_comments_enhancedthreadedcommentflag f
WHERE f.comment_id IN
(SELECT threadedcomment_ptr_id
FROM otm_comments_enhancedthreadedcomment c
WHERE c.instance_id = %s)
""",
(instance.pk,))
with connection.cursor() as cursor:
cursor.execute(
"""
DELETE FROM otm_comments_enhancedthreadedcomment c
WHERE c.instance_id = %s
""",
(instance.pk,))
self.stdout.write("Deleted %s comments" % n_comments)
n_rows = TreeImportRow.objects \
.filter(plot__instance=instance).count()
with connection.cursor() as cursor:
#.........这里部分代码省略.........
示例15: make_instance_user
def make_instance_user(instance, user):
iu = InstanceUser(instance=instance, user=user, role=instance.default_role)
iu.save_with_user(User._system_user)