From 50927b3569b389da6949d559805f2e846745921c Mon Sep 17 00:00:00 2001 From: rvelices Date: Fri, 17 Jan 2014 22:19:44 +0000 Subject: admin rating improvements - use web service for deletion - use datatables for rating by user - use fontello icons git-svn-id: http://piwigo.org/svn/trunk@26837 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/themes/default/template/rating.tpl | 61 ++++++++++++++----- admin/themes/default/template/rating_user.tpl | 88 +++++++++++++++++++++------ 2 files changed, 116 insertions(+), 33 deletions(-) (limited to 'admin/themes') diff --git a/admin/themes/default/template/rating.tpl b/admin/themes/default/template/rating.tpl index fbfd9d8d9..9dcce6f12 100644 --- a/admin/themes/default/template/rating.tpl +++ b/admin/themes/default/template/rating.tpl @@ -40,28 +40,57 @@ {'Rating score'|@translate} {'Average rate'|@translate} {'Sum of rates'|@translate} - {'Rate'|@translate} - {'Username'|@translate} - {'Rate date'|@translate} + {'Rate'|@translate}/{'Username'|@translate}/{'Rate date'|@translate} {foreach from=$images item=image name=image} - {$image.FILE} - {$image.NB_RATES}/{$image.NB_RATES_TOTAL} - {$image.SCORE_RATE} - {$image.AVG_RATE} - {$image.SUM_RATE} - + {$image.FILE} + {$image.NB_RATES}/{$image.NB_RATES_TOTAL} + {$image.SCORE_RATE} + {$image.AVG_RATE} + {$image.SUM_RATE} + + {foreach from=$image.rates item=rate name=rate} - - + + - - + + + +{/foreach}{*rates*} +
{$rate.RATE}
{$rate.rate} {$rate.USER}{$rate.DATE}[{'Delete'|@translate}]{$rate.date}
+ -{/foreach} {*rates*} -{/foreach} {*images*} +{/foreach}{*images*} +{combine_script id='core.scripts' load='async' path='themes/default/js/scripts.js'} +{footer_script} +function del(node,id,uid,aid){ + var tr = jQuery(node).parents("tr").first().fadeTo(1000, 0.4), + data = { + image_id: id, + user_id: uid + }; + if (aid) + data.anonymous_id = aid; -{if !empty($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} + (new PwgWS('{$ROOT_URL|@escape:javascript}')).callService( + 'pwg.rates.delete', data, + { + method: 'POST', + onFailure: function(num, text) { tr.stop(); tr.fadeTo(0,1); alert(num + " " + text); }, + onSuccess: function(result){ + if (result) + tr.remove(); + else + alert(result); + } + } + ); + return false; +} +{/footer_script} + +{if !empty($navbar)}{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} diff --git a/admin/themes/default/template/rating_user.tpl b/admin/themes/default/template/rating_user.tpl index 7cc36c4fb..a37944aa3 100644 --- a/admin/themes/default/template/rating_user.tpl +++ b/admin/themes/default/template/rating_user.tpl @@ -1,12 +1,32 @@ +{combine_script id='jquery.dataTables' load='footer' path='themes/default/js/plugins/jquery.dataTables.js'} +{html_style} +.sorting { background: url({$ROOT_URL}themes/default/js/plugins/datatables/images/sort_both.png) no-repeat center right; cursor:pointer; } +.sorting_asc { background: url({$ROOT_URL}themes/default/js/plugins/datatables/images/sort_asc.png) no-repeat center right; } +.sorting_desc { background: url({$ROOT_URL}themes/default/js/plugins/datatables/images/sort_desc.png) no-repeat center right; } + +.sorting, .sorting_asc, .sorting_desc { + padding: 3px 18px 3px 10px; +} +.sorting_asc_disabled { background: url({$ROOT_URL}themes/default/js/plugins/datatables/images/sort_asc_disabled.png) no-repeat center right; } +.sorting_desc_disabled { background: url({$ROOT_URL}themes/default/js/plugins/datatables/images/sort_desc_disabled.png) no-repeat center right; } + +.dtBar { + text-align:left; + padding-left: 20px; +} +{/html_style} +

{$ratings|@count} {'Users'|@translate}

+ @@ -17,37 +37,71 @@ {combine_script id='core.scripts' load='async' path='themes/default/js/scripts.js'} -{footer_script}{literal} -function del(elt,uid,aid) -{ - if (!confirm({/literal}'{'Are you sure?'|@translate|@escape:'javascript'}'{literal})) +{footer_script} +var oTable = jQuery('#rateTable').dataTable({ + sDom : '<"dtBar"f>rt', + bPaginate: false, + aaSorting: [[4,'desc']], + aoColumnDefs: [ + { + aTargets: ["dtc_user"], + }, + { + aTargets: ["dtc_stat"], + asSorting: ["desc","asc"], + bSearchable: false + }, + { + aTargets: ["dtc_rate"], + asSorting: ["desc","asc"], + bSearchable: false + }, + { + aTargets: ["dtc_del"], + bSortable: false, + bSearchable: false + } + ] +}); + +function del(elt,uid,aid){ + if (!confirm('{'Are you sure?'|@translate|@escape:'javascript'}')) return false; var tr = elt; while ( tr.nodeName != "TR") tr = tr.parentNode; tr = jQuery(tr).fadeTo(1000, 0.4); - (new PwgWS({/literal}'{$ROOT_URL|@escape:javascript}'{literal})).callService( - 'pwg.rates.delete', {user_id:uid, anonymous_id:aid}, + + (new PwgWS('{$ROOT_URL|@escape:javascript}')).callService( + 'pwg.rates.delete', { user_id:uid, anonymous_id:aid}, { method: 'POST', onFailure: function(num, text) { tr.stop(); tr.fadeTo(0,1); alert(num + " " + text); }, - onSuccess: function(result) { if (result) {tr.remove();} else alert(result); } + onSuccess: function(result){ + if (result) + oTable.fnDeleteRow(tr[0]); + else + alert(result); + } } ); + return false; } -{/literal}{/footer_script} - +{/footer_script} +
+ - - - - - + + + + + {foreach from=$available_rates item=rate} - + {/foreach} - + + {foreach from=$ratings item=rating key=user} @@ -62,7 +116,7 @@ function del(elt,uid,aid) {$rates|@count} {/if} {/foreach} - + {/foreach}
{'Username'|@translate}{'Number of rates'|@translate}{'Average rate'|@translate}{'Variation'|@translate}{'Consensus deviation'|@translate|@replace:' ':'
'}
{'Username'|@translate}{'Number of rates'|@translate}{'Average rate'|@translate}{'Variation'|@translate}{'Consensus deviation'|@translate|@replace:' ':'
'}
{$rate}{$rate}
{$user}[{'Delete'|@translate}]
-- cgit v1.2.3