Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
H
hub
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Package registry
Operate
Terraform modules
Analyze
Contributor analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
thomasDOTwtf
hub
Commits
4c111a0e
Commit
4c111a0e
authored
Dec 18, 2021
by
HeJ
Browse files
Options
Downloads
Plain Diff
Merge branch 'feature/204-list-slugname-related-assemblies' into 'develop'
feature(backoffice): add related assemblies to slugname list Closes
#204
See merge request
!370
parents
fa56aecf
59029e33
Branches
Branches containing commit
Tags
v31.0.5
Tags containing commit
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/backoffice/tests.py
+70
-0
70 additions, 0 deletions
src/backoffice/tests.py
src/backoffice/views/assemblyteam.py
+7
-4
7 additions, 4 deletions
src/backoffice/views/assemblyteam.py
with
77 additions
and
4 deletions
src/backoffice/tests.py
0 → 100644
+
70
−
0
View file @
4c111a0e
from
datetime
import
datetime
from
pytz
import
utc
import
uuid
from
django.test
import
TestCase
,
override_settings
from
django.urls
import
reverse
from
core.models
import
Assembly
,
Conference
,
ConferenceMember
,
PlatformUser
,
AssemblyLink
# from https://github.com/Grollicus/unittest_patterns/blob/master/unittest_patterns/__init__.py
class
Pattern
(
object
):
def
__req__
(
self
,
lhs
):
return
self
.
__eq__
(
lhs
)
__hash__
=
None
# from https://github.com/Grollicus/unittest_patterns/blob/master/unittest_patterns/__init__.py
class
Any
(
Pattern
):
"""
Equals everything
"""
def
__eq__
(
self
,
rhs
):
return
True
class
ThingWithLength
(
Pattern
):
def
__init__
(
self
,
_len
):
self
.
len
=
_len
def
__eq__
(
self
,
rhs
):
return
len
(
rhs
)
==
self
.
len
TEST_CONF_ID
=
uuid
.
uuid4
()
@override_settings
(
PLAINUI_CONFERENCE
=
TEST_CONF_ID
)
class
AssemblyListViewTest
(
TestCase
):
def
setUp
(
self
):
self
.
conf
=
Conference
(
id
=
TEST_CONF_ID
,
name
=
'
conf_asdf
'
,
slug
=
'
slug1
'
,
start
=
datetime
(
2020
,
1
,
1
,
0
,
0
,
0
,
tzinfo
=
utc
),
end
=
datetime
(
2020
,
1
,
3
,
0
,
0
,
0
,
tzinfo
=
utc
),
is_public
=
True
,
)
self
.
conf
.
save
()
self
.
user
=
PlatformUser
(
username
=
'
testuser
'
,
email
=
'
no@where.test
'
,
is_staff
=
True
,
is_superuser
=
True
)
self
.
user
.
save
()
self
.
conference_member
=
ConferenceMember
(
conference
=
self
.
conf
,
user
=
self
.
user
)
self
.
conference_member
.
save
()
self
.
assemblies
=
[
Assembly
(
slug
=
a
,
name
=
a
,
is_virtual
=
True
,
conference_id
=
self
.
conf
.
id
,
state_assembly
=
Assembly
.
State
.
ACCEPTED
)
for
a
in
(
'
a1
'
,
'
a2
'
,
'
a3
'
)]
for
a
in
self
.
assemblies
:
a
.
save
()
self
.
assembly_links
=
[
AssemblyLink
(
a
=
self
.
assemblies
[
0
],
b
=
self
.
assemblies
[
1
]),
AssemblyLink
(
a
=
self
.
assemblies
[
0
],
b
=
self
.
assemblies
[
2
])
]
for
al
in
self
.
assembly_links
:
al
.
save
()
self
.
client
.
force_login
(
self
.
user
)
def
test_slugname_related_assemblies
(
self
):
resp
=
self
.
client
.
get
(
reverse
(
'
backoffice:assemblieslist
'
,
kwargs
=
{
'
variant
'
:
'
slugname
'
}))
self
.
assertIn
(
b
'
<td>a2, a3</td>
'
,
resp
.
content
)
This diff is collapsed.
Click to expand it.
src/backoffice/views/assemblyteam.py
+
7
−
4
View file @
4c111a0e
...
...
@@ -11,7 +11,7 @@ from django.utils.text import format_lazy
from
django.utils.translation
import
gettext_lazy
as
_
from
django.views.generic
import
ListView
,
View
from
core.models.assemblies
import
Assembly
,
AssemblyMember
from
core.models.assemblies
import
Assembly
,
AssemblyMember
,
AssemblyLink
from
core.models.users
import
UserCommunicationChannel
from
.mixins
import
ConferenceMixin
...
...
@@ -182,10 +182,13 @@ class AssembliesListsView(AssembliesListMixin, View):
variant_fields
=
None
if
variant
==
'
slugname
'
:
# all assemblies with just slug + name
qs
=
self
.
get_queryset
().
values_list
(
'
slug
'
,
'
name
'
)
# all assemblies with slug + name + related assemblies
qs
=
tuple
(
(
a
.
slug
,
a
.
name
,
"
,
"
.
join
(
link
.
b
.
name
for
link
in
AssemblyLink
.
objects
.
filter
(
a
=
a
)))
for
a
in
self
.
get_queryset
()
)
variant_name
=
'
slug + name
'
variant_fields
=
[
_
(
'
Assembly__slug
'
),
_
(
'
Assembly__name
'
)]
variant_fields
=
[
_
(
'
Assembly__slug
'
),
_
(
'
Assembly__name
'
)
,
_
(
'
assembly_links
'
)
]
elif
variant
==
'
contactsmail
'
:
# all assembly contacts' email addresses with duplicates removed
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment