mail: make it possible to reject an unreadable mail (#8714)

This commit is contained in:
Frédéric Péters 2015-10-28 16:04:48 +01:00
parent 5ad7168dcc
commit f32967d84d
6 changed files with 42 additions and 3 deletions

View File

@ -34,12 +34,14 @@ from welco.views import Home as HomeScreen
class DgsMailHome(MailHome):
display_filter = True
allow_reject = False
def get_queryset(self):
return Mail.objects.filter(status='done-qualif')
class Dgs(HomeScreen):
source_klass = DgsMailHome
allow_reject = False
def check_user_ok(self):
mellon = self.request.session['mellon_session']

View File

@ -24,6 +24,10 @@
<form>
{{form.as_p}}
<button data-action-url="{{source_form_url}}" class="save"></button>
{% if reject_url %}
<button data-action-url="{{reject_url}}" class="reject">Rejeter (illisible)</button>
{% endif %}
</form>
<div id="postit" style="display: none"
data-title-selector="h2"

View File

@ -16,11 +16,12 @@
from django.conf.urls import patterns, url
from .views import viewer, feeder, qualification_save, edit_note, note
from .views import viewer, feeder, qualification_save, edit_note, note, reject
urlpatterns = patterns('',
url('viewer/$', viewer, name='mail-viewer'),
url('mail/feeder/$', feeder, name='mail-feeder'),
url(r'^ajax/mail/reject$', reject, name='mail-reject'),
url(r'^ajax/qualification-mail-save$', qualification_save, name='qualif-mail-save'),
url(r'^ajax/mail/edit-note/$', edit_note, name='mail-edit-note'),
url(r'^ajax/mail/note/(?P<pk>\w+)$', note, name='mail-note'),

View File

@ -56,6 +56,7 @@ feeder = csrf_exempt(Feeder.as_view())
class Home(object):
source_key = 'mail'
display_filter = False
allow_reject = True
def __init__(self, request):
self.request = request
@ -69,6 +70,8 @@ class Home(object):
context['source_type'] = ContentType.objects.get_for_model(Mail)
context['form'] = MailQualificationForm()
context['source_form_url'] = Mail.get_qualification_form_submit_url()
if self.allow_reject:
context['reject_url'] = reverse('mail-reject')
context['display_filter'] = self.display_filter
tmpl = template.loader.get_template('welco/mail_home.html')
return tmpl.render(context)
@ -111,3 +114,10 @@ def note(request, *args, **kwargs):
note = mail.note or '+'
note = re.sub(r'[\r?\n]+', '<br><br>', note, re.DOTALL)
return HttpResponse(note)
@login_required
@csrf_exempt
def reject(request, *args, **kwargs):
Mail.objects.filter(id=request.POST['source_pk']).delete()
return HttpResponse()

View File

@ -376,8 +376,7 @@ td.datetime {
}
#source-mainarea form {
float: right;
padding-right: 1em;
padding-left: 1em;
}
#source-mainarea form p,
@ -437,3 +436,9 @@ form#note textarea {
position: relative;
top: -2px;
}
#source-mainarea button.reject {
float: right;
top: 2px;
margin-right: 1ex;
}

View File

@ -115,6 +115,23 @@ $(function() {
return false;
});
$('.document').delegate('button.reject', 'click', function() {
confirm("Confirmer la suppression de ce courrier");
var source_type = $('div.source div[data-source-type]').data('source-type');
var source_pk = $('div.source .active[data-source-pk]').data('source-pk');
$.ajax({url: $(this).data('action-url'),
data: {source_type: source_type,
source_pk: source_pk},
method: 'POST',
dataType: 'html',
success: function(data) {
window.location.reload();
},
error: function(error) { console.log(':(', error); }
});
return false;
});
$('.document').delegate('button.save', 'click', function() {
var post_date = $('#id_post_date').val();
var registered_mail_number = $('#id_registered_mail_number').val();