--- a/src/core/models/term.py Tue Jun 18 13:55:59 2013 +0200
+++ b/src/core/models/term.py Fri Jun 21 15:20:24 2013 +0200
@@ -73,10 +73,15 @@
validation_date = models.DateTimeField(null=True, blank=True, serialize=False)
validated = models.BooleanField(default=False, db_index=True)
validator = models.ForeignKey(User, null=True, blank=True, serialize=False)
+ wikipedia_edition = models.BooleanField(default=False, blank=False, null=False)
@property
def alternative_labels_str(self):
- return " | ".join([l.label for l in self.alternative_labels.all()])
+ return " | ".join([l.label for l in self.alternative_labels.all() if l.label != self.label])
+
+ @property
+ def alternative_labels_list(self):
+ return [l.label for l in self.alternative_labels.all() if l.label != self.label]
@property
def wikipedia_revision_permalink(self):
--- a/src/jocondelab/forms.py Tue Jun 18 13:55:59 2013 +0200
+++ b/src/jocondelab/forms.py Fri Jun 21 15:20:24 2013 +0200
@@ -12,6 +12,10 @@
class ValidateTermForm(Form):
term_id = fields.IntegerField(required=True)
validation_val = fields.BooleanField(required=False)
+
+class WikipediaEditionForm(Form):
+ term_id = fields.IntegerField(required=True)
+ wikipedia_edition = fields.BooleanField(required=False)
class ModifyWpLinkForm(Form):
term_id = fields.IntegerField(required=True)
--- a/src/jocondelab/static/jocondelab/js/jocondelab.js Tue Jun 18 13:55:59 2013 +0200
+++ b/src/jocondelab/static/jocondelab/js/jocondelab.js Fri Jun 21 15:20:24 2013 +0200
@@ -9,6 +9,20 @@
}
});
+ $(".wikipedia_edition").click(function(e) {
+ console.log(term_wikipedia_edition_url,$(this),$(this).is(':checked'));
+ $.post(term_wikipedia_edition_url,
+ {
+ csrfmiddlewaretoken:global_csrf_token,
+ term_id:term_id,
+ wikipedia_edition: $(this).is(':checked')
+ },
+ function(data, textStatus) {
+ window.location.reload(true);
+ }
+ );
+ });
+
// Wikipedia search management (new tag)
$("#wp_search").autocomplete({
source: function( request, response ) {
--- a/src/jocondelab/templates/jocondelab/term_edit.html Tue Jun 18 13:55:59 2013 +0200
+++ b/src/jocondelab/templates/jocondelab/term_edit.html Fri Jun 21 15:20:24 2013 +0200
@@ -14,8 +14,9 @@
var term_id = {{ term.id }};
var modify_wp_link_url = "{% url 'modify_wp_link' %}";
var remove_wp_link_url = "{% url 'remove_wp_link' %}";
+ var term_wikipedia_edition_url = "{% url 'edition_wp_link'%}";
var validate_term_url = "{% url 'validate_term' %}";
- var term_list_table_url = "{% url 'term_list_table' %}";
+ var term_list_table_url = "{% url 'term_list_table' %}";
$(document).ready(function(){
init_term_events();
@@ -71,6 +72,14 @@
<td class="{{term.url_status_text}}">{{term.label}}</td>
</tr>
<tr>
+ <td>{% trans 'alternative labels' %}</td>
+ <td>
+ {% for label in term.alternative_labels_list %}
+ <div>{{ label }}</div>
+ {% endfor %}
+ </td>
+ </tr>
+ <tr>
<td>{% trans 'id' %}</td>
<td>{{term.id}}</td>
</tr>
@@ -86,6 +95,9 @@
<a href="{{term.wikipedia_url}}" target="_blank"><img src="{{STATIC_URL}}jocondelab/img/arrow_right.png" > {{term.wp_label}}</a>
{% else %}
<a href="http://fr.wikipedia.org/w/index.php?search={{term.label}}" target="_blank"><img src="{{STATIC_URL}}jocondelab/img/wikipedia_search.png" ></a>
+ </span>
+ <span>
+ {% trans 'Créer page WK' %} : <input type="checkbox" id="{{term.id}}-wikipedia-edition" class="wikipedia_edition" name="wikipedia_edition" {% if term.wikipedia_edition %}checked="checked"{%endif%} {%if term.validated%}disabled="disabled"{% endif %} alt="{% trans 'Need wikipedia article'%}"/>
{% endif %}
</span>
<span>
--- a/src/jocondelab/urls.py Tue Jun 18 13:55:59 2013 +0200
+++ b/src/jocondelab/urls.py Fri Jun 21 15:20:24 2013 +0200
@@ -1,8 +1,9 @@
-from .views import TermListView, TermEditView, TermModifyWpLink, TermRemoveWpLink, TermValidate
+from .views import (TermListView, TermEditView, TermModifyWpLink,
+ TermRemoveWpLink, TermValidate, TermWikipediaEdition)
from django.conf.urls import patterns, include, url
from django.contrib import admin
+from django.contrib.auth import urls as auth_url
from django.contrib.auth.decorators import login_required
-from django.contrib.auth import urls as auth_url
from jocondelab.views import TermListTableView
js_info_dict = {
@@ -21,6 +22,7 @@
url(r'^bo/term/(?P<term_id>\d+)/$', login_required(TermEditView.as_view()), name='term'),
url(r'^bo/term/modify-wp/$', login_required(TermModifyWpLink.as_view()), name='modify_wp_link'),
url(r'^bo/term/remove-wp/$', login_required(TermRemoveWpLink.as_view()), name='remove_wp_link'),
+ url(r'^bo/term/edition-wp/$', login_required(TermWikipediaEdition.as_view()), name='edition_wp_link'),
url(r'^bo/term/validate/$', login_required(TermValidate.as_view()), name='validate_term'),
)
--- a/src/jocondelab/views.py Tue Jun 18 13:55:59 2013 +0200
+++ b/src/jocondelab/views.py Fri Jun 21 15:20:24 2013 +0200
@@ -14,6 +14,7 @@
from django.http.response import HttpResponse
from django.views.generic import ListView, DetailView, View
import logging
+from jocondelab.forms import WikipediaEditionForm
logger = logging.getLogger(__name__)
@@ -149,7 +150,20 @@
def process_term(self, request):
label = self.form_values['label']
-
+
wp_process_term(None, self.term, label)
- return HttpResponse(status=204)
\ No newline at end of file
+ return HttpResponse(status=204)
+
+
+class TermWikipediaEdition(TermUpdateView):
+
+ form_class = WikipediaEditionForm
+
+ def process_term(self, request):
+
+ self.term.wikipedia_edition = self.form_values['wikipedia_edition']
+ self.term.save()
+
+ return HttpResponse(status=204)
+
\ No newline at end of file