Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Sith
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
59
Issues
59
List
Boards
Labels
Service Desk
Milestones
Merge Requests
9
Merge Requests
9
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
AE
Sith
Commits
07fc1014
Verified
Commit
07fc1014
authored
Jul 09, 2019
by
Sli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pedagogy: put methods after properties in models
parent
facb6faf
Pipeline
#1912
passed with stage
in 29 minutes and 42 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
64 additions
and
64 deletions
+64
-64
pedagogy/models.py
pedagogy/models.py
+64
-64
No files found.
pedagogy/models.py
View file @
07fc1014
...
@@ -42,51 +42,6 @@ class UV(models.Model):
...
@@ -42,51 +42,6 @@ class UV(models.Model):
Contains infos about an UV (course)
Contains infos about an UV (course)
"""
"""
def
is_owned_by
(
self
,
user
):
"""
Can be created by superuser, root or pedagogy admin user
"""
return
user
.
is_in_group
(
settings
.
SITH_GROUP_PEDAGOGY_ADMIN_ID
)
def
can_be_viewed_by
(
self
,
user
):
"""
Only visible by subscribers
"""
return
user
.
is_subscribed
def
__grade_average_generic
(
self
,
field
):
comments
=
self
.
comments
.
filter
(
**
{
field
+
"__gte"
:
0
})
if
not
comments
.
exists
():
return
-
1
return
int
(
sum
(
comments
.
values_list
(
field
,
flat
=
True
))
/
comments
.
count
())
def
get_absolute_url
(
self
):
return
reverse
(
"pedagogy:uv_detail"
,
kwargs
=
{
"uv_id"
:
self
.
id
})
@
cached_property
def
grade_global_average
(
self
):
return
self
.
__grade_average_generic
(
"grade_global"
)
@
cached_property
def
grade_utility_average
(
self
):
return
self
.
__grade_average_generic
(
"grade_utility"
)
@
cached_property
def
grade_interest_average
(
self
):
return
self
.
__grade_average_generic
(
"grade_interest"
)
@
cached_property
def
grade_teaching_average
(
self
):
return
self
.
__grade_average_generic
(
"grade_teaching"
)
@
cached_property
def
grade_work_load_average
(
self
):
return
self
.
__grade_average_generic
(
"grade_work_load"
)
def
__str__
(
self
):
return
self
.
code
code
=
models
.
CharField
(
code
=
models
.
CharField
(
_
(
"code"
),
_
(
"code"
),
max_length
=
10
,
max_length
=
10
,
...
@@ -187,27 +142,56 @@ class UV(models.Model):
...
@@ -187,27 +142,56 @@ class UV(models.Model):
default
=
0
,
default
=
0
,
)
)
class
UVComment
(
models
.
Model
):
"""
A comment about an UV
"""
def
is_owned_by
(
self
,
user
):
def
is_owned_by
(
self
,
user
):
"""
"""
Is owned by a pedagogy admin, a superuser or the author himself
Can be created by superuser, root or pedagogy admin user
"""
"""
return
self
.
author
==
user
or
user
.
is_owner
(
self
.
uv
)
return
user
.
is_in_group
(
settings
.
SITH_GROUP_PEDAGOGY_ADMIN_ID
)
@
cached_property
def
can_be_viewed_by
(
self
,
user
):
def
is_reported
(
self
):
"""
"""
Return True if someone reported this UV
Only visible by subscribers
"""
"""
return
self
.
reports
.
exists
()
return
user
.
is_subscribed
def
__grade_average_generic
(
self
,
field
):
comments
=
self
.
comments
.
filter
(
**
{
field
+
"__gte"
:
0
})
if
not
comments
.
exists
():
return
-
1
return
int
(
sum
(
comments
.
values_list
(
field
,
flat
=
True
))
/
comments
.
count
())
def
get_absolute_url
(
self
):
return
reverse
(
"pedagogy:uv_detail"
,
kwargs
=
{
"uv_id"
:
self
.
id
})
@
cached_property
def
grade_global_average
(
self
):
return
self
.
__grade_average_generic
(
"grade_global"
)
@
cached_property
def
grade_utility_average
(
self
):
return
self
.
__grade_average_generic
(
"grade_utility"
)
@
cached_property
def
grade_interest_average
(
self
):
return
self
.
__grade_average_generic
(
"grade_interest"
)
@
cached_property
def
grade_teaching_average
(
self
):
return
self
.
__grade_average_generic
(
"grade_teaching"
)
@
cached_property
def
grade_work_load_average
(
self
):
return
self
.
__grade_average_generic
(
"grade_work_load"
)
def
__str__
(
self
):
def
__str__
(
self
):
return
"%s - %s"
%
(
self
.
uv
,
self
.
author
)
return
self
.
code
class
UVComment
(
models
.
Model
):
"""
A comment about an UV
"""
author
=
models
.
ForeignKey
(
author
=
models
.
ForeignKey
(
User
,
User
,
...
@@ -255,6 +239,22 @@ class UVComment(models.Model):
...
@@ -255,6 +239,22 @@ class UVComment(models.Model):
)
)
publish_date
=
models
.
DateTimeField
(
_
(
"publish date"
),
blank
=
True
)
publish_date
=
models
.
DateTimeField
(
_
(
"publish date"
),
blank
=
True
)
def
is_owned_by
(
self
,
user
):
"""
Is owned by a pedagogy admin, a superuser or the author himself
"""
return
self
.
author
==
user
or
user
.
is_owner
(
self
.
uv
)
@
cached_property
def
is_reported
(
self
):
"""
Return True if someone reported this UV
"""
return
self
.
reports
.
exists
()
def
__str__
(
self
):
return
"%s - %s"
%
(
self
.
uv
,
self
.
author
)
def
save
(
self
,
*
args
,
**
kwargs
):
def
save
(
self
,
*
args
,
**
kwargs
):
if
self
.
publish_date
is
None
:
if
self
.
publish_date
is
None
:
self
.
publish_date
=
timezone
.
now
()
self
.
publish_date
=
timezone
.
now
()
...
@@ -292,12 +292,6 @@ class UVCommentReport(models.Model):
...
@@ -292,12 +292,6 @@ class UVCommentReport(models.Model):
Report an inapropriate comment
Report an inapropriate comment
"""
"""
def
is_owned_by
(
self
,
user
):
"""
Can be created by a pedagogy admin, a superuser or a subscriber
"""
return
user
.
is_subscribed
or
user
.
is_owner
(
self
.
comment
.
uv
)
comment
=
models
.
ForeignKey
(
comment
=
models
.
ForeignKey
(
UVComment
,
UVComment
,
related_name
=
"reports"
,
related_name
=
"reports"
,
...
@@ -309,6 +303,12 @@ class UVCommentReport(models.Model):
...
@@ -309,6 +303,12 @@ class UVCommentReport(models.Model):
)
)
reason
=
models
.
TextField
(
_
(
"reason"
))
reason
=
models
.
TextField
(
_
(
"reason"
))
def
is_owned_by
(
self
,
user
):
"""
Can be created by a pedagogy admin, a superuser or a subscriber
"""
return
user
.
is_subscribed
or
user
.
is_owner
(
self
.
comment
.
uv
)
# Custom serializers
# Custom serializers
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment