Feedback et autres trucs
This commit is contained in:
parent
9374a5f158
commit
be57b976d2
18 changed files with 243 additions and 55 deletions
|
@ -1,4 +1,4 @@
|
|||
{% load staticfiles %}
|
||||
{% load staticfiles avisstage_tags %}
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
|
@ -24,14 +24,14 @@
|
|||
<nav>
|
||||
<ul id="menu">
|
||||
<li><a href="{% url 'avisstage:index' %}">Accueil</a></li>
|
||||
{% if user.username %}
|
||||
{% if user.is_authenticated %}
|
||||
<li><a href="{% url 'avisstage:perso' %}">Mes stages</a></li>
|
||||
<li><a href="{% url 'avisstage:recherche' %}">Recherche</a></li>
|
||||
{% endif %}
|
||||
{% if user.is_staff %}
|
||||
<li><a href="{% url 'admin:index' %}">Administration</a></li>
|
||||
{% endif %}
|
||||
{% if user.username %}
|
||||
{% if user.is_authenticated %}
|
||||
<li><a href="{% url 'logout' %}"><span class="username">{{ user.username }}</span><br/> Déconnexion</a></li>
|
||||
{% else %}
|
||||
<li><a href="{% url 'login' %}">Connexion</a></li>
|
||||
|
@ -40,27 +40,9 @@
|
|||
</nav>
|
||||
</header>
|
||||
|
||||
{# BLOCK FEEDBACK #}
|
||||
{% if request.user.is_authenticated %}
|
||||
<div id="feedback_win" class="win_bg">
|
||||
<div class="win_centrer">
|
||||
<div class="win_content">
|
||||
<h2>Envoyer un avis sur le site<a class="win_close" href="javascript:showFeedback(false)">X</a></h2>
|
||||
<form method="POST" action="{% url 'avisstage:feedback' %}?next={{ request.path|urlencode }}">
|
||||
{% csrf_token %}
|
||||
<p>Connecté en tant que {{ user.profil }}</p>
|
||||
<p><label for="id_feedback-message">Commentaire :</label><textarea name="feedback-message" id="id_feedback-message"></textarea></p>
|
||||
<input type="submit" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a id="feedback_btn" href="javascript:showFeedback(true)">
|
||||
Feedback
|
||||
</a>
|
||||
{% if user.is_authenticated %}
|
||||
{% feedback_widget %}
|
||||
{% endif %}
|
||||
{# ENDBLOCK FEEDBACK #}
|
||||
|
||||
|
||||
<section class="content">
|
||||
{% if messages %}
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
{% extends "avisstage/base.html" %}
|
||||
{% load staticfiles %}
|
||||
|
||||
{% block title %}Profil de {{ object.nom }} - ExperiENS{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Profil de {{ object.nom }}</h1>
|
||||
{% if object.user == user %}
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
{% extends "avisstage/base.html" %}
|
||||
{% load staticfiles %}
|
||||
|
||||
{% block title %}{{ object.sujet }} - ExperiENS{% endblock %}
|
||||
|
||||
{% block extra_head %}
|
||||
<script src="{% static 'js/toc.min.js' %}" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="{% static "js/leaflet.js" %}"></script>
|
||||
|
|
|
@ -12,8 +12,11 @@
|
|||
<script type="text/javascript" src="{% static "js/select_lieu.js" %}"></script>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
|
||||
// DATE FIELDS
|
||||
$(".datepicker").datepicker({ dateFormat: 'dd/mm/yy' });
|
||||
// Process rich text fields
|
||||
|
||||
// RICH TEXT FIELDS
|
||||
var txtr = $("textarea.tinymce");
|
||||
$.each(txtr, function(i, item) {
|
||||
var newitem = $("<div>", {"class":"tinymce"}).html(item.value)
|
||||
|
@ -30,7 +33,7 @@
|
|||
language: "fr_FR",
|
||||
});
|
||||
|
||||
// Process select multiple fields
|
||||
// SELECT MULTIPLE FIELDS
|
||||
var slts = $("select[multiple]");
|
||||
var NULL_VAL = " ";
|
||||
$.each(slts, function(i, item) {
|
||||
|
@ -65,7 +68,7 @@
|
|||
$item.remove();
|
||||
});
|
||||
|
||||
// Widget du choix du lieu
|
||||
// CHOIX DU LIEU
|
||||
var lieu_select = new SelectLieuWidget(
|
||||
"{{ STATIC_URL|escapejs }}",
|
||||
"{% url 'avisstage:api_dispatch_list' resource_name="lieu" api_name="v1" %}",
|
||||
|
@ -110,7 +113,7 @@
|
|||
cnt.val(i_form+1);
|
||||
$("#avis_lieu_container").append(dest_form);
|
||||
} else {
|
||||
// Changer le lieu
|
||||
// Changer un lieu existant
|
||||
dest_form = $("#avis-lieux-"+lieu_focus);
|
||||
dest_btn = lieux_liste.find("#change-lieux-"+lieu_focus);
|
||||
}
|
||||
|
@ -121,9 +124,9 @@
|
|||
.val(lieu.id);
|
||||
lieu_select.closeWidget();
|
||||
}
|
||||
// TODO gérer le cas de l'actualisation du formulaire où le lieu affiché n'est plus le vrai lieu
|
||||
|
||||
|
||||
// À l'envoi du formulaire
|
||||
// CLEANUP ON SENDING
|
||||
$("#stageform").submit(function() {
|
||||
$.each(txtr, function(i, item) {
|
||||
item.value = tinyMCE.get(item.fakeinput.attr("id")).getContent();
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
{% extends "avisstage/base.html" %}
|
||||
{% load staticfiles %}
|
||||
|
||||
{% block title %}ExperiENS - Partagez vos expériences de stage !{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="homeh1">
|
||||
<h1>ExperiENS <span class="beta">beta</span></h1>
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
{% extends "avisstage/base.html" %}
|
||||
{% load staticfiles %}
|
||||
|
||||
{% block title %}Espace personnel - ExperiENS{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Mon espace personnel</h1>
|
||||
<p><a href="{% url "avisstage:profil" user %}">{{ user.profil.nom }}</a> <a href="{% url "avisstage:profil_edit" %}">Modifier mes infos</a></p>
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
{% extends "avisstage/base.html" %}
|
||||
{% load staticfiles %}
|
||||
|
||||
{% block title %}Chercher un stage - ExperiENS{% endblock %}
|
||||
|
||||
|
||||
{% block extra_head %}
|
||||
<script type="text/javascript" src="{% static "js/leaflet.js" %}"></script>
|
||||
<script type="text/javascript" src="{% static "js/leaflet.markercluster.js" %}"></script>
|
||||
|
@ -34,7 +37,9 @@
|
|||
var lieux = data.objects;
|
||||
$.each(lieux, function(i, item) {
|
||||
var marqueur = L.marker(item.coord, {icon: greenIcon});
|
||||
marqueur.bindPopup("<h3>"+item.nom+"</h3>");
|
||||
var txt = item.num_stages > 1 ? item.num_stages+" stages ici": "1 stage ici";
|
||||
marqueur.bindPopup("<h3>"+item.nom+"</h3>"+
|
||||
"<p>"+txt+"</p>");
|
||||
marqueurs.addLayer(marqueur);
|
||||
});
|
||||
map.addLayer(marqueurs);
|
||||
|
|
|
@ -0,0 +1,60 @@
|
|||
{% load staticfiles %}
|
||||
|
||||
<div id="feedback_widget" class="window">
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
function showFeedback() {
|
||||
$("#feedback_widget").addClass("visible");
|
||||
}
|
||||
function hideFeedback() {
|
||||
$("#feedback_widget").removeClass("visible");
|
||||
}
|
||||
function onFeedbackSent(data) {
|
||||
if(data.success)
|
||||
widget.find(".message").text("Message envoyé");
|
||||
else {
|
||||
widget.find(".message").text("Erreur : "+data);
|
||||
}
|
||||
}
|
||||
$("#feedback-button").on("click", showFeedback);
|
||||
var widget = $("#feedback_widget");
|
||||
widget.find(".window-closer").on("click", hideFeedback);
|
||||
widget.find(".window-bg").on("click", hideFeedback);
|
||||
var form = widget.find("form");
|
||||
form.on("submit", function(){
|
||||
$.post(form.attr("action")+"?format=json", form.serialize(), onFeedbackSent);
|
||||
form.detach();
|
||||
widget.find(".message").text("Envoi en cours");
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div class="window-bg"></div>
|
||||
<div class="window-content">
|
||||
<a class="window-closer" href="javascript:void(0);"></a>
|
||||
<h2>Donnez votre avis !</h2>
|
||||
<div class="feedback-form">
|
||||
<div class="message"></div>
|
||||
<form action="{% url 'avisstage:feedback' %}" method="post" id="feedback">
|
||||
{% csrf_token %}
|
||||
{% for field in form.hidden_fields %}
|
||||
{{ field }}
|
||||
{% endfor %}
|
||||
{% for field in form.visible_fields %}
|
||||
{{ field.errors }}
|
||||
<div class="field">
|
||||
<label for="{{ field.id_for_label }}">{{ field.label }}</label>
|
||||
<div class="input">
|
||||
{{ field }}
|
||||
{% if field.help_text %}
|
||||
<p class="help_text">{{ field.help_text }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<input type="submit" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a id="feedback-button" href="javascript:void(0);">Feedback</a>
|
|
@ -5,6 +5,7 @@
|
|||
<div class="window-content">
|
||||
<a class="window-closer"></a>
|
||||
<h2>Choisir un lieu</h2>
|
||||
<div class="message"></div>
|
||||
<div class="lieu-ui">
|
||||
</div>
|
||||
<div class="lieu-form">{% load staticfiles %}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue