Fix #993 Add send basket validation report in mobile view

This commit is contained in:
Nicolas Le Goff
2013-06-18 17:02:15 +02:00
parent f8c09c4e1c
commit 09a4fb52e0
3 changed files with 64 additions and 12 deletions

View File

@@ -5,12 +5,12 @@
<meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" />
<title>{{ app['phraseanet.registry'].get('GV_homeTitle') }} - {{ module_name }} </title> <title>{{ app['phraseanet.registry'].get('GV_homeTitle') }} - {{ module_name }} </title>
<link rel="stylesheet" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery.mobile-1.0a4/jquery.mobile-1.0a4.min.css' }) }}" /> <link rel="stylesheet" href="{{ path('minifier', { 'f' : 'include/jslibs/jquery.mobile-1.2.1/jquery.mobile-1.2.1.css' }) }}" />
<script src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js' }) }}"></script> <script src="{{ path('minifier', { 'f' : 'assets/jquery/jquery.js' }) }}"></script>
<script src="{{ path('minifier', { 'f' : 'nclude/jslibs/jquery.mobile-1.2.1/jquery.mobile-1.2.1.js' }) }}"></script>
{% block stylesheet %}{% endblock %} {% block stylesheet %}{% endblock %}
{% block icon %}{% endblock %} {% block icon %}{% endblock %}
{% block javascript %}{% endblock %} {% block javascript %}{% endblock %}
<script src="{{ path('minifier', { 'f' : 'include/jslibs/jquery.mobile-1.0a4/jquery.mobile-1.0a4.js' }) }}"></script>
</head> </head>
<body> <body>
{% block content %}{% endblock %} {% block content %}{% endblock %}

View File

@@ -2,6 +2,11 @@
{% extends "common/index.html.twig" %} {% extends "common/index.html.twig" %}
{% block javascript %} {% block javascript %}
<script type="text/javascript">
{% if basket.getValidation() %}
var releasable = {% if basket.getValidation().getParticipant(app['authentication'].getUser(), app).isReleasable() %}"{% trans 'Do you want to send your report ?' %}"{% else %}false{% endif %}
{% endif %}
</script>
<script type="text/javascript" src="{{ path('minifier', { 'f' : 'skins/lightbox/jquery.validator.mobile.js' }) }}"></script> <script type="text/javascript" src="{{ path('minifier', { 'f' : 'skins/lightbox/jquery.validator.mobile.js' }) }}"></script>
{% endblock %} {% endblock %}
@@ -17,6 +22,7 @@
<a rel="external" href="{{ path('lightbox') }}" data-icon="home" data-iconpos="notext" data-direction="reverse" class="ui-btn-right jqm-home">{% trans 'Home' %}</a> <a rel="external" href="{{ path('lightbox') }}" data-icon="home" data-iconpos="notext" data-direction="reverse" class="ui-btn-right jqm-home">{% trans 'Home' %}</a>
</div> </div>
<div data-role="content"> <div data-role="content">
<input type="hidden" id="basket_validation_id" value="{{ basket.getId() }}">
<p> <p>
{% set basket_length = basket.getElements().count() %} {% set basket_length = basket.getElements().count() %}
{% trans %}{{basket_length}} documents{% endtrans %} {% trans %}{{basket_length}} documents{% endtrans %}
@@ -37,7 +43,12 @@
</ul> </ul>
</div> </div>
<div data-role="footer"> <div data-role="footer">
{% if basket.getValidation() and basket.getValidation().getParticipant(app['authentication'].getUser(), app).getCanAgree() %}
<button class="confirm_report" style="width:100%;" title="{% trans 'validation::envoyer mon rapport'%}">
{% trans 'validation::envoyer mon rapport'%}
<img src="/skins/icons/loader1F1E1B.gif" style="visibility:hidden;" class="loader"/>
</button>
{% endif %}
</div> </div>
</div> </div>
{% endblock %} {% endblock %}

View File

@@ -2,11 +2,50 @@ $(document).ready(function(){
if(typeof validator_loaded === 'boolean') if(typeof validator_loaded === 'boolean')
return; return;
$('.confirm_report').live('click',function(){
var $this = $(this);
$('.loader', $this).css({
visibility:'visible'
});
$.ajax({
type: "POST",
url: "/lightbox/ajax/SET_RELEASE/" + $('#basket_validation_id').val() + "/",
dataType: 'json',
error: function(data) {
$('.loader', $this).css({
visibility: 'hidden'
});
},
timeout: function(data) {
$('.loader', $this).css({
visibility: 'hidden'
});
},
success: function(data) {
$('.loader', $this).css({
visibility: 'hidden'
});
if (data.datas) {
alert(data.datas);
}
if (!data.error) {
releasable = false;
}
return;
}
});
});
$('.agreement_radio').live('vmousedown', function(){ $('.agreement_radio').live('vmousedown', function(){
var sselcont_id = $(this).attr('for').split('_').pop(); var sselcont_id = $(this).attr('for').split('_').pop();
var agreement = $('#' + $(this).attr('for')).val() == 'yes' ? '1' : '-1'; var agreement = $('#' + $(this).attr('for')).val() == 'yes' ? '1' : '-1';
$.mobile.pageLoading(); $.mobile.loading();
$.ajax({ $.ajax({
type: "POST", type: "POST",
@@ -17,11 +56,11 @@ $(document).ready(function(){
}, },
error: function(datas){ error: function(datas){
alert('error'); alert('error');
$.mobile.pageLoading(true); $.mobile.loading();
}, },
timeout: function(datas){ timeout: function(datas){
alert('error'); alert('error');
$.mobile.pageLoading(true); $.mobile.loading();
}, },
success: function(datas){ success: function(datas){
if(!datas.error) if(!datas.error)
@@ -30,12 +69,14 @@ $(document).ready(function(){
$('.valid_choice_'+sselcont_id).removeClass('disagree').addClass('agree'); $('.valid_choice_'+sselcont_id).removeClass('disagree').addClass('agree');
else else
$('.valid_choice_'+sselcont_id).removeClass('agree').addClass('disagree'); $('.valid_choice_'+sselcont_id).removeClass('agree').addClass('disagree');
$.mobile.pageLoading(true); $.mobile.loading();
if(datas.error) if(datas.error)
{ {
alert(datas.datas); alert(datas.datas);
return; return;
} }
releasable = datas.release;
} }
else else
{ {
@@ -50,7 +91,7 @@ $(document).ready(function(){
$('.note_area_validate').live('click', function(){ $('.note_area_validate').live('click', function(){
var sselcont_id = $(this).closest('form').find('input[name="sselcont_id"]').val(); var sselcont_id = $(this).closest('form').find('input[name="sselcont_id"]').val();
$.mobile.pageLoading(); $.mobile.loading();
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: "/lightbox/ajax/SET_NOTE/"+sselcont_id+"/", url: "/lightbox/ajax/SET_NOTE/"+sselcont_id+"/",
@@ -60,14 +101,14 @@ $(document).ready(function(){
}, },
error: function(datas){ error: function(datas){
alert('error'); alert('error');
$.mobile.pageLoading(true); $.mobile.loading();
}, },
timeout: function(datas){ timeout: function(datas){
alert('error'); alert('error');
$.mobile.pageLoading(true); $.mobile.loading();
}, },
success: function(datas){ success: function(datas){
$.mobile.pageLoading(true); $.mobile.loading();
if(datas.error) if(datas.error)
{ {
alert(datas.datas); alert(datas.datas);