core -- Apply black + isort to all files
This commit is contained in:
parent
104e71dcf6
commit
fdd2b35289
196 changed files with 10727 additions and 8365 deletions
|
@ -1,10 +1,9 @@
|
|||
from decimal import Decimal
|
||||
|
||||
import djconfig
|
||||
from django.test import TestCase
|
||||
from django.utils import timezone
|
||||
|
||||
import djconfig
|
||||
|
||||
from gestioncof.models import User
|
||||
from kfet.config import kfet_config
|
||||
from kfet.models import Account
|
||||
|
@ -18,18 +17,18 @@ class ConfigTest(TestCase):
|
|||
djconfig.reload_maybe()
|
||||
|
||||
def test_get(self):
|
||||
self.assertTrue(hasattr(kfet_config, 'subvention_cof'))
|
||||
self.assertTrue(hasattr(kfet_config, "subvention_cof"))
|
||||
|
||||
def test_subvention_cof(self):
|
||||
reduction_cof = Decimal('20')
|
||||
subvention_cof = Decimal('25')
|
||||
reduction_cof = Decimal("20")
|
||||
subvention_cof = Decimal("25")
|
||||
kfet_config.set(reduction_cof=reduction_cof)
|
||||
|
||||
self.assertEqual(kfet_config.subvention_cof, subvention_cof)
|
||||
|
||||
def test_set_decimal(self):
|
||||
"""Test field of decimal type."""
|
||||
reduction_cof = Decimal('10')
|
||||
reduction_cof = Decimal("10")
|
||||
# IUT
|
||||
kfet_config.set(reduction_cof=reduction_cof)
|
||||
# check
|
||||
|
@ -37,9 +36,8 @@ class ConfigTest(TestCase):
|
|||
|
||||
def test_set_modelinstance(self):
|
||||
"""Test field of model instance type."""
|
||||
user = User.objects.create(username='foo_user')
|
||||
account = Account.objects.create(trigramme='FOO',
|
||||
cofprofile=user.profile)
|
||||
user = User.objects.create(username="foo_user")
|
||||
account = Account.objects.create(trigramme="FOO", cofprofile=user.profile)
|
||||
# IUT
|
||||
kfet_config.set(addcost_for=account)
|
||||
# check
|
||||
|
|
|
@ -11,14 +11,14 @@ from .utils import create_user
|
|||
|
||||
|
||||
class KPsulCheckoutFormTests(TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.now = timezone.now()
|
||||
|
||||
user = create_user()
|
||||
|
||||
self.c1 = Checkout.objects.create(
|
||||
name='C1', balance=10,
|
||||
name="C1",
|
||||
balance=10,
|
||||
created_by=user.profile.account_kfet,
|
||||
valid_from=self.now,
|
||||
valid_to=self.now + datetime.timedelta(days=1),
|
||||
|
@ -27,13 +27,12 @@ class KPsulCheckoutFormTests(TestCase):
|
|||
self.form = KPsulCheckoutForm()
|
||||
|
||||
def test_checkout(self):
|
||||
checkout_f = self.form.fields['checkout']
|
||||
self.assertListEqual(list(checkout_f.choices), [
|
||||
('', '---------'),
|
||||
(self.c1.pk, 'C1'),
|
||||
])
|
||||
checkout_f = self.form.fields["checkout"]
|
||||
self.assertListEqual(
|
||||
list(checkout_f.choices), [("", "---------"), (self.c1.pk, "C1")]
|
||||
)
|
||||
|
||||
@mock.patch('django.utils.timezone.now')
|
||||
@mock.patch("django.utils.timezone.now")
|
||||
def test_checkout_valid(self, mock_now):
|
||||
"""
|
||||
Checkout are filtered using the current datetime.
|
||||
|
@ -44,5 +43,5 @@ class KPsulCheckoutFormTests(TestCase):
|
|||
|
||||
form = KPsulCheckoutForm()
|
||||
|
||||
checkout_f = form.fields['checkout']
|
||||
self.assertListEqual(list(checkout_f.choices), [('', '---------')])
|
||||
checkout_f = form.fields["checkout"]
|
||||
self.assertListEqual(list(checkout_f.choices), [("", "---------")])
|
||||
|
|
|
@ -12,26 +12,24 @@ User = get_user_model()
|
|||
|
||||
|
||||
class AccountTests(TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.account = Account(trigramme='000')
|
||||
self.account.save({'username': 'user'})
|
||||
self.account = Account(trigramme="000")
|
||||
self.account.save({"username": "user"})
|
||||
|
||||
def test_password(self):
|
||||
self.account.change_pwd('anna')
|
||||
self.account.change_pwd("anna")
|
||||
self.account.save()
|
||||
|
||||
self.assertEqual(Account.objects.get_by_password('anna'), self.account)
|
||||
self.assertEqual(Account.objects.get_by_password("anna"), self.account)
|
||||
|
||||
with self.assertRaises(Account.DoesNotExist):
|
||||
Account.objects.get_by_password(None)
|
||||
|
||||
with self.assertRaises(Account.DoesNotExist):
|
||||
Account.objects.get_by_password('bernard')
|
||||
Account.objects.get_by_password("bernard")
|
||||
|
||||
|
||||
class CheckoutTests(TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.now = timezone.now()
|
||||
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
from unittest.mock import patch
|
||||
|
||||
from django.test import TestCase, Client
|
||||
from django.contrib.auth.models import User, Permission
|
||||
from django.contrib.auth.models import Permission, User
|
||||
from django.test import Client, TestCase
|
||||
|
||||
from kfet.models import Account, Article, ArticleCategory
|
||||
|
||||
|
||||
class TestStats(TestCase):
|
||||
|
||||
@patch('gestioncof.signals.messages')
|
||||
@patch("gestioncof.signals.messages")
|
||||
def test_user_stats(self, mock_messages):
|
||||
"""
|
||||
Checks that we can get the stat-related pages without any problem.
|
||||
|
@ -28,8 +27,7 @@ class TestStats(TestCase):
|
|||
Account.objects.create(trigramme="BAR", cofprofile=user2.profile)
|
||||
|
||||
article = Article.objects.create(
|
||||
name="article",
|
||||
category=ArticleCategory.objects.create(name="C")
|
||||
name="article", category=ArticleCategory.objects.create(name="C")
|
||||
)
|
||||
|
||||
# Each user have its own client
|
||||
|
@ -43,12 +41,17 @@ class TestStats(TestCase):
|
|||
user_urls = [
|
||||
"/k-fet/accounts/FOO/stat/operations/list",
|
||||
"/k-fet/accounts/FOO/stat/operations?{}".format(
|
||||
'&'.join(["scale=day",
|
||||
"types=['purchase']",
|
||||
"scale_args={'n_steps':+7,+'last':+True}",
|
||||
"format=json"])),
|
||||
"&".join(
|
||||
[
|
||||
"scale=day",
|
||||
"types=['purchase']",
|
||||
"scale_args={'n_steps':+7,+'last':+True}",
|
||||
"format=json",
|
||||
]
|
||||
)
|
||||
),
|
||||
"/k-fet/accounts/FOO/stat/balance/list",
|
||||
"/k-fet/accounts/FOO/stat/balance?format=json"
|
||||
"/k-fet/accounts/FOO/stat/balance?format=json",
|
||||
]
|
||||
for url in user_urls:
|
||||
resp = client.get(url)
|
||||
|
@ -60,7 +63,7 @@ class TestStats(TestCase):
|
|||
# receives a Redirect response
|
||||
articles_urls = [
|
||||
"/k-fet/articles/{}/stat/sales/list".format(article.pk),
|
||||
"/k-fet/articles/{}/stat/sales".format(article.pk)
|
||||
"/k-fet/articles/{}/stat/sales".format(article.pk),
|
||||
]
|
||||
for url in articles_urls:
|
||||
resp = client.get(url)
|
||||
|
|
|
@ -7,86 +7,79 @@ from gestioncof.models import CofProfile
|
|||
|
||||
from ..models import Account
|
||||
from .testcases import TestCaseMixin
|
||||
from .utils import (
|
||||
create_user, create_team, create_root, get_perms, user_add_perms,
|
||||
)
|
||||
|
||||
from .utils import create_root, create_team, create_user, get_perms, user_add_perms
|
||||
|
||||
User = get_user_model()
|
||||
|
||||
|
||||
class UserHelpersTests(TestCaseMixin, TestCase):
|
||||
|
||||
def test_create_user(self):
|
||||
"""create_user creates a basic user and its account."""
|
||||
u = create_user()
|
||||
a = u.profile.account_kfet
|
||||
|
||||
self.assertInstanceExpected(u, {
|
||||
'get_full_name': 'first last',
|
||||
'username': 'user',
|
||||
})
|
||||
self.assertInstanceExpected(
|
||||
u, {"get_full_name": "first last", "username": "user"}
|
||||
)
|
||||
self.assertFalse(u.user_permissions.exists())
|
||||
|
||||
self.assertEqual('000', a.trigramme)
|
||||
self.assertEqual("000", a.trigramme)
|
||||
|
||||
def test_create_team(self):
|
||||
u = create_team()
|
||||
a = u.profile.account_kfet
|
||||
|
||||
self.assertInstanceExpected(u, {
|
||||
'get_full_name': 'team member',
|
||||
'username': 'team',
|
||||
})
|
||||
self.assertTrue(u.has_perm('kfet.is_team'))
|
||||
self.assertInstanceExpected(
|
||||
u, {"get_full_name": "team member", "username": "team"}
|
||||
)
|
||||
self.assertTrue(u.has_perm("kfet.is_team"))
|
||||
|
||||
self.assertEqual('100', a.trigramme)
|
||||
self.assertEqual("100", a.trigramme)
|
||||
|
||||
def test_create_root(self):
|
||||
u = create_root()
|
||||
a = u.profile.account_kfet
|
||||
|
||||
self.assertInstanceExpected(u, {
|
||||
'get_full_name': 'super user',
|
||||
'username': 'root',
|
||||
'is_superuser': True,
|
||||
'is_staff': True,
|
||||
})
|
||||
self.assertInstanceExpected(
|
||||
u,
|
||||
{
|
||||
"get_full_name": "super user",
|
||||
"username": "root",
|
||||
"is_superuser": True,
|
||||
"is_staff": True,
|
||||
},
|
||||
)
|
||||
|
||||
self.assertEqual('200', a.trigramme)
|
||||
self.assertEqual("200", a.trigramme)
|
||||
|
||||
|
||||
class PermHelpersTest(TestCaseMixin, TestCase):
|
||||
|
||||
def setUp(self):
|
||||
cts = ContentType.objects.get_for_models(Account, CofProfile)
|
||||
self.perm1 = Permission.objects.create(
|
||||
content_type=cts[Account],
|
||||
codename='test_perm',
|
||||
name='Perm for test',
|
||||
content_type=cts[Account], codename="test_perm", name="Perm for test"
|
||||
)
|
||||
self.perm2 = Permission.objects.create(
|
||||
content_type=cts[CofProfile],
|
||||
codename='another_test_perm',
|
||||
name='Another one',
|
||||
codename="another_test_perm",
|
||||
name="Another one",
|
||||
)
|
||||
self.perm_team = Permission.objects.get(
|
||||
content_type__app_label='kfet',
|
||||
codename='is_team',
|
||||
content_type__app_label="kfet", codename="is_team"
|
||||
)
|
||||
|
||||
def test_get_perms(self):
|
||||
perms = get_perms('kfet.test_perm', 'gestioncof.another_test_perm')
|
||||
self.assertDictEqual(perms, {
|
||||
'kfet.test_perm': self.perm1,
|
||||
'gestioncof.another_test_perm': self.perm2,
|
||||
})
|
||||
perms = get_perms("kfet.test_perm", "gestioncof.another_test_perm")
|
||||
self.assertDictEqual(
|
||||
perms,
|
||||
{"kfet.test_perm": self.perm1, "gestioncof.another_test_perm": self.perm2},
|
||||
)
|
||||
|
||||
def test_user_add_perms(self):
|
||||
user = User.objects.create_user(username='user', password='user')
|
||||
user = User.objects.create_user(username="user", password="user")
|
||||
user.user_permissions.add(self.perm1)
|
||||
|
||||
user_add_perms(user, ['kfet.is_team', 'gestioncof.another_test_perm'])
|
||||
user_add_perms(user, ["kfet.is_team", "gestioncof.another_test_perm"])
|
||||
|
||||
self.assertQuerysetEqual(
|
||||
user.user_permissions.all(),
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -37,34 +37,32 @@ class TestCaseMixin:
|
|||
full_path = request.get_full_path()
|
||||
|
||||
querystring = QueryDict(mutable=True)
|
||||
querystring['next'] = full_path
|
||||
querystring["next"] = full_path
|
||||
|
||||
login_url = '/login?' + querystring.urlencode(safe='/')
|
||||
login_url = "/login?" + querystring.urlencode(safe="/")
|
||||
|
||||
# We don't focus on what the login view does.
|
||||
# So don't fetch the redirect.
|
||||
self.assertRedirects(
|
||||
response, login_url,
|
||||
fetch_redirect_response=False,
|
||||
)
|
||||
self.assertRedirects(response, login_url, fetch_redirect_response=False)
|
||||
except AssertionError:
|
||||
raise AssertionError(
|
||||
"%(http_method)s request at %(path)s should be forbidden for "
|
||||
"%(username)s user.\n"
|
||||
"Response isn't 403, nor a redirect to login view. Instead, "
|
||||
"response code is %(code)d." % {
|
||||
'http_method': request.method,
|
||||
'path': request.get_full_path(),
|
||||
'username': (
|
||||
"response code is %(code)d."
|
||||
% {
|
||||
"http_method": request.method,
|
||||
"path": request.get_full_path(),
|
||||
"username": (
|
||||
"'{}'".format(request.user)
|
||||
if request.user.is_authenticated
|
||||
else 'anonymous'
|
||||
else "anonymous"
|
||||
),
|
||||
'code': response.status_code,
|
||||
"code": response.status_code,
|
||||
}
|
||||
)
|
||||
|
||||
def assertForbiddenKfet(self, response, form_ctx='form'):
|
||||
def assertForbiddenKfet(self, response, form_ctx="form"):
|
||||
"""
|
||||
Test that a response (retrieved with a Client) contains error due to
|
||||
lack of kfet permissions.
|
||||
|
@ -83,7 +81,7 @@ class TestCaseMixin:
|
|||
form = response.context[form_ctx]
|
||||
self.assertIn("Permission refusée", form.non_field_errors())
|
||||
except (AssertionError, AttributeError, KeyError):
|
||||
messages = [str(msg) for msg in response.context['messages']]
|
||||
messages = [str(msg) for msg in response.context["messages"]]
|
||||
self.assertIn("Permission refusée", messages)
|
||||
except AssertionError:
|
||||
request = response.wsgi_request
|
||||
|
@ -91,15 +89,16 @@ class TestCaseMixin:
|
|||
"%(http_method)s request at %(path)s should raise an error "
|
||||
"for %(username)s user.\n"
|
||||
"Cannot find any errors in non-field errors of form "
|
||||
"'%(form_ctx)s', nor in messages." % {
|
||||
'http_method': request.method,
|
||||
'path': request.get_full_path(),
|
||||
'username': (
|
||||
"'%(form_ctx)s', nor in messages."
|
||||
% {
|
||||
"http_method": request.method,
|
||||
"path": request.get_full_path(),
|
||||
"username": (
|
||||
"'%s'" % request.user
|
||||
if request.user.is_authenticated
|
||||
else 'anonymous'
|
||||
else "anonymous"
|
||||
),
|
||||
'form_ctx': form_ctx,
|
||||
"form_ctx": form_ctx,
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -131,10 +130,9 @@ class TestCaseMixin:
|
|||
if type(expected) == dict:
|
||||
parsed = urlparse(actual)
|
||||
for part, expected_part in expected.items():
|
||||
if part == 'query':
|
||||
if part == "query":
|
||||
self.assertDictEqual(
|
||||
parse_qs(parsed.query),
|
||||
expected.get('query', {}),
|
||||
parse_qs(parsed.query), expected.get("query", {})
|
||||
)
|
||||
else:
|
||||
self.assertEqual(getattr(parsed, part), expected_part)
|
||||
|
@ -215,10 +213,11 @@ class ViewTestCaseMixin(TestCaseMixin):
|
|||
can be given by defining an attribute '<method(lowercase)>_data'.
|
||||
|
||||
"""
|
||||
|
||||
url_name = None
|
||||
url_expected = None
|
||||
|
||||
http_methods = ['GET']
|
||||
http_methods = ["GET"]
|
||||
|
||||
auth_user = None
|
||||
auth_forbidden = []
|
||||
|
@ -232,7 +231,7 @@ class ViewTestCaseMixin(TestCaseMixin):
|
|||
# Signals handlers on login/logout send messages.
|
||||
# Due to the way the Django' test Client performs login, this raise an
|
||||
# error. As workaround, we mock the Django' messages module.
|
||||
patcher_messages = mock.patch('gestioncof.signals.messages')
|
||||
patcher_messages = mock.patch("gestioncof.signals.messages")
|
||||
patcher_messages.start()
|
||||
self.addCleanup(patcher_messages.stop)
|
||||
|
||||
|
@ -268,14 +267,14 @@ class ViewTestCaseMixin(TestCaseMixin):
|
|||
# Format desc: username, password, trigramme
|
||||
users_base = {
|
||||
# user, user, 000
|
||||
'user': create_user(),
|
||||
"user": create_user(),
|
||||
# team, team, 100
|
||||
'team': create_team(),
|
||||
"team": create_team(),
|
||||
# root, root, 200
|
||||
'root': create_root(),
|
||||
"root": create_root(),
|
||||
}
|
||||
if self.with_liq:
|
||||
users_base['liq'] = create_user('liq', 'LIQ')
|
||||
users_base["liq"] = create_user("liq", "LIQ")
|
||||
return users_base
|
||||
|
||||
@cached_property
|
||||
|
@ -300,7 +299,7 @@ class ViewTestCaseMixin(TestCaseMixin):
|
|||
|
||||
def register_user(self, label, user):
|
||||
self.users[label] = user
|
||||
if hasattr(user.profile, 'account_kfet'):
|
||||
if hasattr(user.profile, "account_kfet"):
|
||||
self.accounts[label] = user.profile.account_kfet
|
||||
|
||||
def get_user(self, label):
|
||||
|
@ -310,22 +309,25 @@ class ViewTestCaseMixin(TestCaseMixin):
|
|||
|
||||
@property
|
||||
def urls_conf(self):
|
||||
return [{
|
||||
'name': self.url_name,
|
||||
'args': getattr(self, 'url_args', []),
|
||||
'kwargs': getattr(self, 'url_kwargs', {}),
|
||||
'expected': self.url_expected,
|
||||
}]
|
||||
return [
|
||||
{
|
||||
"name": self.url_name,
|
||||
"args": getattr(self, "url_args", []),
|
||||
"kwargs": getattr(self, "url_kwargs", {}),
|
||||
"expected": self.url_expected,
|
||||
}
|
||||
]
|
||||
|
||||
@property
|
||||
def t_urls(self):
|
||||
return [
|
||||
reverse(
|
||||
url_conf['name'],
|
||||
args=url_conf.get('args', []),
|
||||
kwargs=url_conf.get('kwargs', {}),
|
||||
url_conf["name"],
|
||||
args=url_conf.get("args", []),
|
||||
kwargs=url_conf.get("kwargs", {}),
|
||||
)
|
||||
for url_conf in self.urls_conf]
|
||||
for url_conf in self.urls_conf
|
||||
]
|
||||
|
||||
@property
|
||||
def url(self):
|
||||
|
@ -333,7 +335,7 @@ class ViewTestCaseMixin(TestCaseMixin):
|
|||
|
||||
def test_urls(self):
|
||||
for url, conf in zip(self.t_urls, self.urls_conf):
|
||||
self.assertEqual(url, conf['expected'])
|
||||
self.assertEqual(url, conf["expected"])
|
||||
|
||||
def test_forbidden(self):
|
||||
for method in self.http_methods:
|
||||
|
@ -348,7 +350,7 @@ class ViewTestCaseMixin(TestCaseMixin):
|
|||
client.login(username=user, password=user)
|
||||
|
||||
send_request = getattr(client, method)
|
||||
data = getattr(self, '{}_data'.format(method), {})
|
||||
data = getattr(self, "{}_data".format(method), {})
|
||||
|
||||
r = send_request(url, data)
|
||||
self.assertForbidden(r)
|
||||
|
|
|
@ -3,7 +3,6 @@ from django.contrib.auth.models import Permission
|
|||
|
||||
from ..models import Account
|
||||
|
||||
|
||||
User = get_user_model()
|
||||
|
||||
|
||||
|
@ -23,27 +22,27 @@ def _create_user_and_account(user_attrs, account_attrs, perms=None):
|
|||
the account password is 'kfetpwd_<user pwd>'.
|
||||
|
||||
"""
|
||||
user_pwd = user_attrs.pop('password', user_attrs['username'])
|
||||
user_pwd = user_attrs.pop("password", user_attrs["username"])
|
||||
user = User.objects.create(**user_attrs)
|
||||
user.set_password(user_pwd)
|
||||
user.save()
|
||||
|
||||
account_attrs['cofprofile'] = user.profile
|
||||
kfet_pwd = account_attrs.pop('password', 'kfetpwd_{}'.format(user_pwd))
|
||||
account_attrs["cofprofile"] = user.profile
|
||||
kfet_pwd = account_attrs.pop("password", "kfetpwd_{}".format(user_pwd))
|
||||
|
||||
account = Account.objects.create(**account_attrs)
|
||||
|
||||
if perms is not None:
|
||||
user = user_add_perms(user, perms)
|
||||
|
||||
if 'kfet.is_team' in perms:
|
||||
if "kfet.is_team" in perms:
|
||||
account.change_pwd(kfet_pwd)
|
||||
account.save()
|
||||
|
||||
return user
|
||||
|
||||
|
||||
def create_user(username='user', trigramme='000', **kwargs):
|
||||
def create_user(username="user", trigramme="000", **kwargs):
|
||||
"""
|
||||
Create a user without any permission and its kfet account.
|
||||
|
||||
|
@ -65,20 +64,20 @@ def create_user(username='user', trigramme='000', **kwargs):
|
|||
* trigramme: 000
|
||||
|
||||
"""
|
||||
user_attrs = kwargs.setdefault('user_attrs', {})
|
||||
user_attrs = kwargs.setdefault("user_attrs", {})
|
||||
|
||||
user_attrs.setdefault('username', username)
|
||||
user_attrs.setdefault('first_name', 'first')
|
||||
user_attrs.setdefault('last_name', 'last')
|
||||
user_attrs.setdefault('email', 'mail@user.net')
|
||||
user_attrs.setdefault("username", username)
|
||||
user_attrs.setdefault("first_name", "first")
|
||||
user_attrs.setdefault("last_name", "last")
|
||||
user_attrs.setdefault("email", "mail@user.net")
|
||||
|
||||
account_attrs = kwargs.setdefault('account_attrs', {})
|
||||
account_attrs.setdefault('trigramme', trigramme)
|
||||
account_attrs = kwargs.setdefault("account_attrs", {})
|
||||
account_attrs.setdefault("trigramme", trigramme)
|
||||
|
||||
return _create_user_and_account(**kwargs)
|
||||
|
||||
|
||||
def create_team(username='team', trigramme='100', **kwargs):
|
||||
def create_team(username="team", trigramme="100", **kwargs):
|
||||
"""
|
||||
Create a user, member of the kfet team, and its kfet account.
|
||||
|
||||
|
@ -101,23 +100,23 @@ def create_team(username='team', trigramme='100', **kwargs):
|
|||
* kfet password: kfetpwd_team
|
||||
|
||||
"""
|
||||
user_attrs = kwargs.setdefault('user_attrs', {})
|
||||
user_attrs = kwargs.setdefault("user_attrs", {})
|
||||
|
||||
user_attrs.setdefault('username', username)
|
||||
user_attrs.setdefault('first_name', 'team')
|
||||
user_attrs.setdefault('last_name', 'member')
|
||||
user_attrs.setdefault('email', 'mail@team.net')
|
||||
user_attrs.setdefault("username", username)
|
||||
user_attrs.setdefault("first_name", "team")
|
||||
user_attrs.setdefault("last_name", "member")
|
||||
user_attrs.setdefault("email", "mail@team.net")
|
||||
|
||||
account_attrs = kwargs.setdefault('account_attrs', {})
|
||||
account_attrs.setdefault('trigramme', trigramme)
|
||||
account_attrs = kwargs.setdefault("account_attrs", {})
|
||||
account_attrs.setdefault("trigramme", trigramme)
|
||||
|
||||
perms = kwargs.setdefault('perms', [])
|
||||
perms.append('kfet.is_team')
|
||||
perms = kwargs.setdefault("perms", [])
|
||||
perms.append("kfet.is_team")
|
||||
|
||||
return _create_user_and_account(**kwargs)
|
||||
|
||||
|
||||
def create_root(username='root', trigramme='200', **kwargs):
|
||||
def create_root(username="root", trigramme="200", **kwargs):
|
||||
"""
|
||||
Create a superuser and its kfet account.
|
||||
|
||||
|
@ -141,16 +140,16 @@ def create_root(username='root', trigramme='200', **kwargs):
|
|||
* kfet password: kfetpwd_root
|
||||
|
||||
"""
|
||||
user_attrs = kwargs.setdefault('user_attrs', {})
|
||||
user_attrs = kwargs.setdefault("user_attrs", {})
|
||||
|
||||
user_attrs.setdefault('username', username)
|
||||
user_attrs.setdefault('first_name', 'super')
|
||||
user_attrs.setdefault('last_name', 'user')
|
||||
user_attrs.setdefault('email', 'mail@root.net')
|
||||
user_attrs['is_superuser'] = user_attrs['is_staff'] = True
|
||||
user_attrs.setdefault("username", username)
|
||||
user_attrs.setdefault("first_name", "super")
|
||||
user_attrs.setdefault("last_name", "user")
|
||||
user_attrs.setdefault("email", "mail@root.net")
|
||||
user_attrs["is_superuser"] = user_attrs["is_staff"] = True
|
||||
|
||||
account_attrs = kwargs.setdefault('account_attrs', {})
|
||||
account_attrs.setdefault('trigramme', trigramme)
|
||||
account_attrs = kwargs.setdefault("account_attrs", {})
|
||||
account_attrs.setdefault("trigramme", trigramme)
|
||||
|
||||
return _create_user_and_account(**kwargs)
|
||||
|
||||
|
@ -159,10 +158,9 @@ def get_perms(*labels):
|
|||
"""Return Permission instances from a list of '<app>.<perm_codename>'."""
|
||||
perms = {}
|
||||
for label in set(labels):
|
||||
app_label, codename = label.split('.', 1)
|
||||
app_label, codename = label.split(".", 1)
|
||||
perms[label] = Permission.objects.get(
|
||||
content_type__app_label=app_label,
|
||||
codename=codename,
|
||||
content_type__app_label=app_label, codename=codename
|
||||
)
|
||||
return perms
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue