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
R
re2o
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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nounous
re2o
Commits
b0fca7f6
Commit
b0fca7f6
authored
Jan 14, 2018
by
Yoann Pietri
Committed by
root
Jan 28, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implémentation de l'auto inscription
parent
a71e01e1
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
50 additions
and
13 deletions
+50
-13
preferences/forms.py
preferences/forms.py
+1
-0
preferences/models.py
preferences/models.py
+10
-0
preferences/templates/preferences/display_preferences.html
preferences/templates/preferences/display_preferences.html
+6
-0
preferences/templates/preferences/edit_preferences.html
preferences/templates/preferences/edit_preferences.html
+1
-1
preferences/views.py
preferences/views.py
+1
-0
re2o/acl.py
re2o/acl.py
+2
-3
re2o/settings.py
re2o/settings.py
+1
-1
templates/base.html
templates/base.html
+13
-2
users/models.py
users/models.py
+7
-4
users/templates/users/user.html
users/templates/users/user.html
+4
-0
users/views.py
users/views.py
+4
-2
No files found.
preferences/forms.py
View file @
b0fca7f6
...
...
@@ -117,6 +117,7 @@ class EditGeneralOptionForm(ModelForm):
self
.
fields
[
'site_name'
].
label
=
'Nom du site web'
self
.
fields
[
'email_from'
].
label
=
"Adresse mail d
\
'expedition automatique"
self
.
fields
[
'GTU_sum_up'
].
label
=
"Résumé des CGU"
class
EditAssoOptionForm
(
ModelForm
):
...
...
preferences/models.py
View file @
b0fca7f6
...
...
@@ -302,6 +302,16 @@ class GeneralOption(models.Model):
req_expire_hrs
=
models
.
IntegerField
(
default
=
48
)
site_name
=
models
.
CharField
(
max_length
=
32
,
default
=
"Re2o"
)
email_from
=
models
.
EmailField
(
default
=
"www-data@serveur.net"
)
GTU_sum_up
=
models
.
TextField
(
default
=
""
,
blank
=
True
,
)
GTU
=
models
.
FileField
(
upload_to
=
''
,
default
=
""
,
null
=
True
,
blank
=
True
,
)
class
Meta
:
permissions
=
(
...
...
preferences/templates/preferences/display_preferences.html
View file @
b0fca7f6
...
...
@@ -137,7 +137,13 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<tr>
<th>
Message global affiché sur le site
</th>
<td>
{{ generaloptions.general_message }}
</td>
<th>
Résumé des CGU
</th>
<td>
{{ generaloptions.GTU_sum_up }}
</td>
<tr>
<tr>
<th>
CGU
</th>
<td>
{{generaloptions.GTU}}
</th>
</tr>
</table>
<h4>
Données de l'association
</h4>
<a
class=
"btn btn-primary btn-sm"
role=
"button"
href=
"{% url 'preferences:edit-options' 'AssoOption' %}"
>
...
...
preferences/templates/preferences/edit_preferences.html
View file @
b0fca7f6
...
...
@@ -33,7 +33,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<h3>
Edition des préférences
</h3>
<form
class=
"form"
method=
"post"
>
<form
class=
"form"
method=
"post"
enctype=
"multipart/form-data"
>
{% csrf_token %}
{% massive_bootstrap_form options 'utilisateur_asso' %}
{% bootstrap_button "Créer ou modifier" button_type="submit" icon="star" %}
...
...
preferences/views.py
View file @
b0fca7f6
...
...
@@ -95,6 +95,7 @@ def edit_options(request, section):
return
redirect
(
reverse
(
'index'
))
options
=
form_instance
(
request
.
POST
or
None
,
request
.
FILES
or
None
,
instance
=
options_instance
)
if
options
.
is_valid
():
...
...
re2o/acl.py
View file @
b0fca7f6
...
...
@@ -45,11 +45,10 @@ def can_create(model):
def
decorator
(
view
):
def
wrapper
(
request
,
*
args
,
**
kwargs
):
can
,
msg
=
model
.
can_create
(
request
.
user
,
*
args
,
**
kwargs
)
#options, _created = OptionalUser.objects.get_or_create()
if
not
can
:
messages
.
error
(
request
,
msg
or
"Vous ne pouvez pas accéder à ce menu"
)
return
redirect
(
reverse
(
'users:profil'
,
kwargs
=
{
'userid'
:
str
(
request
.
user
.
id
)}
))
return
redirect
(
reverse
(
'index'
))
return
view
(
request
,
*
args
,
**
kwargs
)
return
wrapper
return
decorator
...
...
re2o/settings.py
View file @
b0fca7f6
...
...
@@ -150,7 +150,7 @@ STATICFILES_DIRS = (
),
)
MEDIA_ROOT
=
'/var/www/re2o/
static
'
MEDIA_ROOT
=
'/var/www/re2o/
media
'
STATIC_URL
=
'/static/'
...
...
templates/base.html
View file @
b0fca7f6
...
...
@@ -26,6 +26,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{# Load the tag library #}
{% load bootstrap3 %}
{% load acl %}
{% load self_adhesion %}
{% self_adhesion as var_sa %}
<!DOCTYPE html>
<html
lang=
"fr"
>
<head
prefix=
"og: http://ogp.me/ns#"
>
...
...
@@ -102,17 +104,26 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</form>
</div>
<ul
class=
"nav navbar-nav navbar-right"
>
<li>
{% if request.user.is_authenticated %}
<li>
<a
href=
"{% url 'logout' %}"
>
<span
class=
"glyphicon glyphicon-log-out"
></span>
Logout
</a>
</li>
{% else %}
{% if var_sa %}
<li>
<a
href=
"{% url 'users:new-user' %}"
>
<span
class=
"glyphicon glyphicon-user"
></span>
Créer un compte
</a>
</li>
{% endif %}
<li>
<a
href=
"{% url 'login' %}"
>
<span
class=
"glyphicon glyphicon-log-in"
></span>
Login
</a>
</li>
{% endif %}
</li>
</ul>
{% can_view_app preferences %}
<ul
class=
"nav navbar-nav navbar-right"
>
...
...
users/models.py
View file @
b0fca7f6
...
...
@@ -684,10 +684,13 @@ class User(FieldPermissionModelMixin, AbstractBaseUser, PermissionsMixin):
an user or if the `options.all_can_create` is set.
"""
options
,
_created
=
OptionalUser
.
objects
.
get_or_create
()
if
options
.
all_can_create
:
return
Tru
e
,
None
if
(
not
user_request
.
is_authenticated
and
not
options
.
self_adhesion
)
:
return
Fals
e
,
None
else
:
return
user_request
.
has_perm
(
'users.add_user'
),
u
"Vous n'avez pas le
\
if
(
options
.
all_can_create
or
options
.
self_adhesion
):
return
True
,
None
else
:
return
user_request
.
has_perm
(
'users.add_user'
),
u
"Vous n'avez pas le
\
droit de créer un utilisateur"
def
can_edit
(
self
,
user_request
,
*
args
,
**
kwargs
):
...
...
@@ -862,7 +865,7 @@ class Club(User):
"""
if
user_request
.
has_perm
(
'users.view_user'
):
return
True
,
None
if
user_request
.
is_class_adherent
:
if
hasattr
(
user_request
,
'is_class_adherent'
)
and
user_request
.
is_class_adherent
:
if
user_request
.
adherent
.
club_administrator
.
all
()
or
user_request
.
adherent
.
club_members
.
all
():
return
True
,
None
return
False
,
u
"Vous n'avez pas accès à la liste des utilisateurs."
...
...
users/templates/users/user.html
View file @
b0fca7f6
...
...
@@ -36,6 +36,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% massive_bootstrap_form userform 'room,school,administrators,members' %}
{% bootstrap_button "Créer ou modifier" button_type="submit" icon="star" %}
</form>
<br>
<p>
En cliquant sur Créer ou modifier, l'utilisateur s'engage à respecter les
<a
href=
"/media/{{ GTU }}"
download=
"CGU"
>
règles d'utilisation du réseau
</a>
.
</p>
<h3>
Résumé des règles d'utilisations
</h3>
<p>
{{ GTU_sum_up }}
</p>
<br/>
<br/>
<br/>
...
...
users/views.py
View file @
b0fca7f6
...
...
@@ -117,12 +117,14 @@ def password_change_action(u_form, user, request, req=False):
kwargs
=
{
'userid'
:
str
(
user
.
id
)}
))
@
login_required
@
can_create
(
Adherent
)
def
new_user
(
request
):
""" Vue de création d'un nouvel utilisateur,
envoie un mail pour le mot de passe"""
user
=
AdherentForm
(
request
.
POST
or
None
,
user
=
request
.
user
)
options
,
_created
=
GeneralOption
.
objects
.
get_or_create
()
GTU_sum_up
=
options
.
GTU_sum_up
GTU
=
options
.
GTU
if
user
.
is_valid
():
user
=
user
.
save
(
commit
=
False
)
with
transaction
.
atomic
(),
reversion
.
create_revision
():
...
...
@@ -136,7 +138,7 @@ def new_user(request):
'users:profil'
,
kwargs
=
{
'userid'
:
str
(
user
.
id
)}
))
return
form
({
'userform'
:
user
},
'users/user.html'
,
request
)
return
form
({
'userform'
:
user
,
'GTU_sum_up'
:
GTU_sum_up
,
'GTU'
:
GTU
},
'users/user.html'
,
request
)
@
login_required
...
...
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