Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
django-panik-emissions
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
radiopanik
django-panik-emissions
Commits
a9123809
Commit
a9123809
authored
Aug 06, 2020
by
fred
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix date options for absence dialog for non-staff users
parent
c4d00c5f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
6 deletions
+10
-6
emissions/forms.py
emissions/forms.py
+10
-6
No files found.
emissions/forms.py
View file @
a9123809
...
@@ -307,17 +307,20 @@ class NewsItemForm(forms.ModelForm):
...
@@ -307,17 +307,20 @@ class NewsItemForm(forms.ModelForm):
class
AbsenceDateTimeWidget
(
forms
.
Select
):
class
AbsenceDateTimeWidget
(
forms
.
Select
):
def
render_options
(
self
,
choices
,
selected_choices
):
def
__init__
(
self
,
emission
,
*
args
,
**
kwargs
):
self
.
choices
=
[]
super
().
__init__
(
*
args
,
**
kwargs
)
self
.
choices
=
list
(
self
.
options
(
emission
))
def
options
(
self
,
emission
):
dates
=
[]
dates
=
[]
for
i
in
range
(
4
):
for
i
in
range
(
4
):
if
dates
:
if
dates
:
since
=
dates
[
-
1
]
+
datetime
.
timedelta
(
minutes
=
10
)
since
=
dates
[
-
1
]
+
datetime
.
timedelta
(
minutes
=
10
)
else
:
else
:
since
=
None
since
=
None
dates
.
append
(
self
.
emission
.
get_next_planned_date
(
since
))
dates
.
append
(
emission
.
get_next_planned_date
(
since
))
choices
=
[(
x
,
x
.
strftime
(
'%d/%m/%Y %H:%M'
))
for
x
in
dates
]
for
date
in
dates
:
return
super
(
AbsenceDateTimeWidget
,
self
).
render_options
(
choices
,
selected_choices
)
yield
(
date
,
date
.
strftime
(
'%d/%m/%Y %H:%M'
)
)
class
AbsenceForm
(
forms
.
ModelForm
):
class
AbsenceForm
(
forms
.
ModelForm
):
...
@@ -326,7 +329,6 @@ class AbsenceForm(forms.ModelForm):
...
@@ -326,7 +329,6 @@ class AbsenceForm(forms.ModelForm):
exclude
=
()
exclude
=
()
widgets
=
{
widgets
=
{
'emission'
:
forms
.
HiddenInput
(),
'emission'
:
forms
.
HiddenInput
(),
'datetime'
:
AbsenceDateTimeWidget
(),
}
}
def
__init__
(
self
,
*
args
,
**
kwargs
):
def
__init__
(
self
,
*
args
,
**
kwargs
):
...
@@ -338,6 +340,8 @@ class AbsenceForm(forms.ModelForm):
...
@@ -338,6 +340,8 @@ class AbsenceForm(forms.ModelForm):
date
=
emission
.
get_next_planned_date
()
date
=
emission
.
get_next_planned_date
()
self
.
fields
[
'datetime'
].
initial
=
date
self
.
fields
[
'datetime'
].
initial
=
date
self
.
fields
[
'datetime'
].
widget
=
DateTimeWidget
()
self
.
fields
[
'datetime'
].
widget
=
DateTimeWidget
()
else
:
self
.
fields
[
'datetime'
].
widget
=
AbsenceDateTimeWidget
(
emission
)
def
save
(
self
,
commit
=
True
):
def
save
(
self
,
commit
=
True
):
t
=
super
(
AbsenceForm
,
self
).
save
(
commit
=
commit
)
t
=
super
(
AbsenceForm
,
self
).
save
(
commit
=
commit
)
...
...
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