bugfix/67-reverse-for-profile-update #69
|
@ -7,5 +7,5 @@ from . import views
|
||||||
|
|
||||||
profile_urlpatterns = [
|
profile_urlpatterns = [
|
||||||
path(r"lookup/", views.user_lookup, name="user_lookup"),
|
path(r"lookup/", views.user_lookup, name="user_lookup"),
|
||||||
path(r"edit/<int:profileid>/", views.profile_update, name="profile_update"),
|
path(r"edit/", views.profile_update, name="profile_update"),
|
||||||
]
|
]
|
||||||
|
|
|
@ -60,17 +60,12 @@ def user_lookup(request):
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@require_http_methods(["GET", "POST"])
|
@require_http_methods(["GET", "POST"])
|
||||||
def profile_update(request, profileid):
|
def profile_update(request):
|
||||||
"""Modification d'un profil utilisateur.
|
"""Modification du profil de l'utilisateur connecté
|
||||||
|
|
||||||
Args:
|
|
||||||
profileid (int): L'identifiant du profil utilisateur à modifier.
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
profile = get_object_or_404(Profile, pk=profileid)
|
profile = request.user.profile
|
||||||
|
|
||||||
if profile.user != request.user:
|
|
||||||
raise PermissionDenied("Permission denied : you don't have the permission to update this profile.")
|
|
||||||
|
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
form = ProfileForm(request.POST, instance=profile)
|
form = ProfileForm(request.POST, instance=profile)
|
||||||
|
@ -78,7 +73,6 @@ def profile_update(request, profileid):
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
form.save()
|
form.save()
|
||||||
|
|
||||||
request.session["profileid"] = profileid
|
|
||||||
request.session["template"] = profile.template_color
|
request.session["template"] = profile.template_color
|
||||||
request.session["sidebar"] = profile.sidebar_color
|
request.session["sidebar"] = profile.sidebar_color
|
||||||
request.session["is_sidebar_minified"] = profile.is_sidebar_minified
|
request.session["is_sidebar_minified"] = profile.is_sidebar_minified
|
||||||
|
@ -88,5 +82,5 @@ def profile_update(request, profileid):
|
||||||
else:
|
else:
|
||||||
form = ProfileForm(instance=profile)
|
form = ProfileForm(instance=profile)
|
||||||
|
|
||||||
context = {"form": form, "profileid": profileid}
|
context = {"form": form,}
|
||||||
return render(request, "profile_create.html", context)
|
return render(request, "profile_create.html", context)
|
||||||
|
|
|
@ -87,93 +87,93 @@
|
||||||
<i class="tim-icons icon-bullet-list-67 visible-on-sidebar-mini"></i>
|
<i class="tim-icons icon-bullet-list-67 visible-on-sidebar-mini"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="navbar-toggle d-inline">
|
<div class="navbar-toggle d-inline">
|
||||||
<button type="button" class="navbar-toggler">
|
<button type="button" class="navbar-toggler">
|
||||||
<span class="navbar-toggler-bar bar1"></span>
|
<span class="navbar-toggler-bar bar1"></span>
|
||||||
<span class="navbar-toggler-bar bar2"></span>
|
<span class="navbar-toggler-bar bar2"></span>
|
||||||
<span class="navbar-toggler-bar bar3"></span>
|
<span class="navbar-toggler-bar bar3"></span>
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<a class="navbar-brand" href="/">Dashboard</a>
|
|
||||||
</div>
|
|
||||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navigation" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<span class="navbar-toggler-bar navbar-kebab"></span>
|
|
||||||
<span class="navbar-toggler-bar navbar-kebab"></span>
|
|
||||||
<span class="navbar-toggler-bar navbar-kebab"></span>
|
|
||||||
</button>
|
|
||||||
<div class="collapse navbar-collapse" id="navigation">
|
|
||||||
<ul class="navbar-nav ml-auto">
|
|
||||||
<li class="search-bar input-group">
|
|
||||||
<button class="btn btn-link" id="search-button" data-toggle="modal" data-target="#searchModal">
|
|
||||||
<i class="tim-icons icon-zoom-split"></i>
|
|
||||||
<span class="d-lg-none d-md-block">Search</span>
|
|
||||||
</button>
|
</button>
|
||||||
</li>
|
</div>
|
||||||
<li class="dropdown nav-item">
|
<a class="navbar-brand" href="/">Dashboard</a>
|
||||||
<a href="javascript:void(0)" class="dropdown-toggle nav-link" data-toggle="dropdown">
|
</div>
|
||||||
<i class="tim-icons icon-sound-wave"></i>
|
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navigation" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
<p class="d-lg-none">Flash access</p>
|
<span class="navbar-toggler-bar navbar-kebab"></span>
|
||||||
</a>
|
<span class="navbar-toggler-bar navbar-kebab"></span>
|
||||||
<ul class="dropdown-menu dropdown-menu-right dropdown-navbar">
|
<span class="navbar-toggler-bar navbar-kebab"></span>
|
||||||
<li class="nav-link">
|
</button>
|
||||||
<a href="{% url 'calendar' %}" class="nav-item dropdown-item"><i class="far fa-calendar-alt"></i> Calendrier</a>
|
<div class="collapse navbar-collapse" id="navigation">
|
||||||
</li>
|
<ul class="navbar-nav ml-auto">
|
||||||
<li class="nav-link">
|
<li class="search-bar input-group">
|
||||||
<a href="{% url 'chrono_create' %}" class="nav-item dropdown-item"><i class="far fa-stopwatch"></i> New chrono</a>
|
<button class="btn btn-link" id="search-button" data-toggle="modal" data-target="#searchModal">
|
||||||
</li>
|
<i class="tim-icons icon-zoom-split"></i>
|
||||||
<li class="nav-link">
|
<span class="d-lg-none d-md-block">Search</span>
|
||||||
<a href="{% url 'score_create' %}" class="nav-item dropdown-item"><i class="far fa-share-alt"></i> New score</a>
|
</button>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-link">
|
<li class="dropdown nav-item">
|
||||||
<a href="#" class="nav-item dropdown-item"><i class="far fa-bezier-curve"></i> Program</a>
|
<a href="javascript:void(0)" class="dropdown-toggle nav-link" data-toggle="dropdown">
|
||||||
</li>
|
<i class="tim-icons icon-sound-wave"></i>
|
||||||
</ul>
|
<p class="d-lg-none">Flash access</p>
|
||||||
</li>
|
</a>
|
||||||
<li class="dropdown nav-item">
|
<ul class="dropdown-menu dropdown-menu-right dropdown-navbar">
|
||||||
<a href="javascript:void(0)" class="dropdown-toggle nav-link" data-toggle="dropdown">
|
<li class="nav-link">
|
||||||
{% if number_unreaded_message %}
|
<a href="{% url 'calendar' %}" class="nav-item dropdown-item"><i class="far fa-calendar-alt"></i> Calendrier</a>
|
||||||
<div class="notification d-none d-lg-block d-xl-block"></div>
|
</li>
|
||||||
{% endif %}
|
<li class="nav-link">
|
||||||
<i class="tim-icons icon-email-85"></i>
|
<a href="{% url 'chrono_create' %}" class="nav-item dropdown-item"><i class="far fa-stopwatch"></i> New chrono</a>
|
||||||
<p class="d-lg-none">Notifications</p>
|
</li>
|
||||||
</a>
|
<li class="nav-link">
|
||||||
<ul class="dropdown-menu dropdown-menu-right dropdown-navbar">
|
<a href="{% url 'score_create' %}" class="nav-item dropdown-item"><i class="far fa-share-alt"></i> New score</a>
|
||||||
<li class="nav-link">
|
</li>
|
||||||
<a href="{% url 'compose_message' %}" class="nav-item dropdown-item"><i class="tim-icons icon-pencil"></i> Compose message</a>
|
<li class="nav-link">
|
||||||
</li>
|
<a href="#" class="nav-item dropdown-item"><i class="far fa-bezier-curve"></i> Program</a>
|
||||||
<li class="nav-link">
|
</li>
|
||||||
<a href="{% url 'received_messages' %}" class="nav-item dropdown-item"><i class="tim-icons icon-email-85"></i> Received messages</a>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-link">
|
<li class="dropdown nav-item">
|
||||||
<a href="{% url 'sent_messages' %}" class="nav-item dropdown-item"><i class="tim-icons icon-send"></i> Sent messages</a>
|
<a href="javascript:void(0)" class="dropdown-toggle nav-link" data-toggle="dropdown">
|
||||||
</li>
|
{% if number_unreaded_message %}
|
||||||
</ul>
|
<div class="notification d-none d-lg-block d-xl-block"></div>
|
||||||
</li>
|
{% endif %}
|
||||||
<li class="dropdown nav-item">
|
<i class="tim-icons icon-email-85"></i>
|
||||||
<a href="#" class="dropdown-toggle nav-link" data-toggle="dropdown">
|
<p class="d-lg-none">Notifications</p>
|
||||||
<div class="photo">
|
</a>
|
||||||
<img src="{% static '/img/mike.jpg' %}" alt="Profile Photo">
|
<ul class="dropdown-menu dropdown-menu-right dropdown-navbar">
|
||||||
</div>
|
<li class="nav-link">
|
||||||
<b class="caret d-none d-lg-block d-xl-block"></b>
|
<a href="{% url 'compose_message' %}" class="nav-item dropdown-item"><i class="tim-icons icon-pencil"></i> Compose message</a>
|
||||||
<p class="d-lg-none">Log out</p>
|
</li>
|
||||||
</a>
|
<li class="nav-link">
|
||||||
<ul class="dropdown-menu dropdown-navbar">
|
<a href="{% url 'received_messages' %}" class="nav-item dropdown-item"><i class="tim-icons icon-email-85"></i> Received messages</a>
|
||||||
<li class="nav-link">
|
</li>
|
||||||
<a href="{% url 'profile_update' request.session.profileid %}" class="nav-item dropdown-item">Profile</a>
|
<li class="nav-link">
|
||||||
</li>
|
<a href="{% url 'sent_messages' %}" class="nav-item dropdown-item"><i class="tim-icons icon-send"></i> Sent messages</a>
|
||||||
<!-- <li class="nav-link"> -->
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown nav-item">
|
||||||
|
<a href="#" class="dropdown-toggle nav-link" data-toggle="dropdown">
|
||||||
|
<div class="photo">
|
||||||
|
<img src="{% static '/img/mike.jpg' %}" alt="Profile Photo">
|
||||||
|
</div>
|
||||||
|
<b class="caret d-none d-lg-block d-xl-block"></b>
|
||||||
|
<p class="d-lg-none">Log out</p>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu dropdown-navbar">
|
||||||
|
<li class="nav-link">
|
||||||
|
<a href="{% url 'profile_update' %}" class="nav-item dropdown-item">Profile</a>
|
||||||
|
</li>
|
||||||
|
<!-- <li class="nav-link"> -->
|
||||||
<!-- <a href="javascript:void(0)" class="nav-item dropdown-item">Settings</a> -->
|
<!-- <a href="javascript:void(0)" class="nav-item dropdown-item">Settings</a> -->
|
||||||
<!-- </li> -->
|
<!-- </li> -->
|
||||||
<li class="dropdown-divider"></li>
|
<li class="dropdown-divider"></li>
|
||||||
<li class="nav-link">
|
<li class="nav-link">
|
||||||
<a href="{% url 'logout' %}" class="nav-item dropdown-item">Log out</a>
|
<a href="{% url 'logout' %}" class="nav-item dropdown-item">Log out</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="separator d-lg-none"></li>
|
<li class="separator d-lg-none"></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</nav>
|
</nav>
|
||||||
<div class="modal modal-search fade" id="searchModal" tabindex="-1" role="dialog" aria-labelledby="searchModal" aria-hidden="true">
|
<div class="modal modal-search fade" id="searchModal" tabindex="-1" role="dialog" aria-labelledby="searchModal" aria-hidden="true">
|
||||||
<div class="modal-dialog" role="document">
|
<div class="modal-dialog" role="document">
|
||||||
|
@ -237,7 +237,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="togglebutton switch-change-color mt-3">
|
<div class="togglebutton switch-change-color mt-3">
|
||||||
<span class="label-switch">LIGHT MODE</span>
|
<span class="label-switch">LIGHT MODE</span>
|
||||||
<input type="checkbox" name="checkbox" {% if request.session.template == 0 %}checked{% endif %} class="bootstrap-switch" data-on-label="" data-off-label="" />
|
<input type="checkbox" name="checkbox" {% if request.session.template == 0 %}checked{% endif %} class="bootstrap-switch" data-on-label="" data-off-label="" />
|
||||||
<span class="label-switch label-right">DARK MODE</span>
|
<span class="label-switch label-right">DARK MODE</span>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
@ -301,26 +301,22 @@
|
||||||
$full_page = $('.full-page');
|
$full_page = $('.full-page');
|
||||||
$sidebar_responsive = $('body > .navbar-collapse');
|
$sidebar_responsive = $('body > .navbar-collapse');
|
||||||
|
|
||||||
{% if request.session.is_sidebar_minified %}sidebar_mini_active = true;
|
{% if request.session.is_sidebar_minified %}
|
||||||
{% else %}sidebar_mini_active = false;{% endif %}
|
sidebar_mini_active = true; {% else %}
|
||||||
|
sidebar_mini_active = false; {% endif %}
|
||||||
|
{% if request.session.template == 0 %}
|
||||||
{% if request.session.template == 0%}white_color = false;
|
white_color = false; {% else %}
|
||||||
{% else %}white_color = true;{% endif %}
|
white_color = true; {% endif %}
|
||||||
|
|
||||||
window_width = $(window).width();
|
window_width = $(window).width();
|
||||||
|
|
||||||
fixed_plugin_open = $('.sidebar .sidebar-wrapper .nav li.active a p').html();
|
fixed_plugin_open = $('.sidebar .sidebar-wrapper .nav li.active a p').html();
|
||||||
|
|
||||||
{% if request.session.sidebar == 1 %}
|
{% if request.session.sidebar == 1 %}
|
||||||
color = "blue";
|
color = "blue"; {% elif request.session.sidebar == 2 %}
|
||||||
{% elif request.session.sidebar == 2 %}
|
color = "green"; {% elif request.session.sidebar == 3 %}
|
||||||
color = "green";
|
color = "orange"; {% elif request.session.sidebar == 4 %}
|
||||||
{% elif request.session.sidebar == 3 %}
|
color = "red"; {% endif %}
|
||||||
color = "orange";
|
|
||||||
{% elif request.session.sidebar == 4 %}
|
|
||||||
color = "red";
|
|
||||||
{% endif %}
|
|
||||||
$sidebar.attr('data', color);
|
$sidebar.attr('data', color);
|
||||||
$main_panel.attr('data', color);
|
$main_panel.attr('data', color);
|
||||||
$full_page.attr('filter-color', color);
|
$full_page.attr('filter-color', color);
|
||||||
|
@ -417,5 +413,6 @@
|
||||||
|
|
||||||
{% block footerscript %}{% endblock %}
|
{% block footerscript %}{% endblock %}
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
|
@ -12,7 +12,7 @@
|
||||||
<h4 class="card-title">Edit User Profile</h4>
|
<h4 class="card-title">Edit User Profile</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form action="{% url 'profile_update' profileid %}" method="post" class="form-horizontal" id="formulaire" name="formulaire">
|
<form action="{% url 'profile_update' %}" method="post" class="form-horizontal" id="formulaire" name="formulaire">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label for="id_birthdate" class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-4 col-form-label">Birthdate</label>
|
<label for="id_birthdate" class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-4 col-form-label">Birthdate</label>
|
||||||
|
@ -59,8 +59,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript" >
|
<script type="text/javascript">
|
||||||
$(function(){
|
$(function() {
|
||||||
blackDashboard.initDateTimePicker();
|
blackDashboard.initDateTimePicker();
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
Loading…
Reference in New Issue