Merge pull request #162 from nlegoff/tickets

Tickets
This commit is contained in:
Romain Neutron
2012-07-17 07:45:29 -07:00
12 changed files with 161 additions and 252 deletions

View File

@@ -76,22 +76,22 @@ return call_user_func(function() {
if ($e instanceof \Bridge_Exception_ApiConnectorNotConfigured) { if ($e instanceof \Bridge_Exception_ApiConnectorNotConfigured) {
$params = array_merge($params, array('account' => $app['current_account'])); $params = array_merge($params, array('account' => $app['current_account']));
return new response($twig->render('/prod/actions/Bridge/notconfigured.twig', $params), 200); return new Response($twig->render('/prod/actions/Bridge/notconfigured.twig', $params), 200);
} elseif ($e instanceof \Bridge_Exception_ApiConnectorNotConnected) { } elseif ($e instanceof \Bridge_Exception_ApiConnectorNotConnected) {
$params = array_merge($params, array('account' => $app['current_account'])); $params = array_merge($params, array('account' => $app['current_account']));
return new response($twig->render('/prod/actions/Bridge/disconnected.twig', $params), 200); return new Response($twig->render('/prod/actions/Bridge/disconnected.twig', $params), 200);
} elseif ($e instanceof \Bridge_Exception_ApiConnectorAccessTokenFailed) { } elseif ($e instanceof \Bridge_Exception_ApiConnectorAccessTokenFailed) {
$params = array_merge($params, array('account' => $app['current_account'])); $params = array_merge($params, array('account' => $app['current_account']));
return new response($twig->render('/prod/actions/Bridge/disconnected.twig', $params), 200); return new Response($twig->render('/prod/actions/Bridge/disconnected.twig', $params), 200);
} elseif ($e instanceof \Bridge_Exception_ApiDisabled) { } elseif ($e instanceof \Bridge_Exception_ApiDisabled) {
$params = array_merge($params, array('api' => $e->get_api())); $params = array_merge($params, array('api' => $e->get_api()));
return new response($twig->render('/prod/actions/Bridge/deactivated.twig', $params), 200); return new Response($twig->render('/prod/actions/Bridge/deactivated.twig', $params), 200);
} }
return new response($twig->render('/prod/actions/Bridge/error.twig', $params), 200); return new Response($twig->render('/prod/actions/Bridge/error.twig', $params), 200);
} }
if ($request->getRequestFormat() == 'json') { if ($request->getRequestFormat() == 'json') {
$datas = array( $datas = array(

View File

@@ -122,11 +122,13 @@
<tr> <tr>
<td style="width:20px;"> <td style="width:20px;">
</td> </td>
<td style="width:310px;"> {% if basket.getValidation() %}
{% if basket.getValidation() %} <td style="width:50px;">
<img title="{% trans 'lightbox::recaptitulatif' %}" class="report" src="/skins/lightbox/retour.png"/> <img title="{% trans 'lightbox::recaptitulatif' %}" class="report" src="/skins/lightbox/retour.png"/>
{% endif %} </td>
<select id="navigation"> {% endif %}
<td style="width:220px;">
<select id="navigation" style='margin:0'>
<optgroup label="{% trans 'Validations'%}"> <optgroup label="{% trans 'Validations'%}">
{% for item in baskets_collection %} {% for item in baskets_collection %}
{% if item.getValidation() %} {% if item.getValidation() %}
@@ -144,8 +146,10 @@
{% endfor %} {% endfor %}
</optgroup> </optgroup>
</select> </select>
<button class="ui-corner-all basket_downloader" title="{% trans 'boutton::telecharger tous les documents' %}"> </td>
<img src="/skins/lightbox/save.png"/> <td style="width:50px;">
<button style='width:30px;margin:0;' class="ui-corner-all basket_downloader" title="{% trans 'boutton::telecharger tous les documents' %}">
<img src="/skins/lightbox/save.png"/>
</button> </button>
</td> </td>
<td> <td>
@@ -156,7 +160,7 @@
</tr> </tr>
</table> </table>
</div> </div>
<div class="PNB" style="top:30px;"> <div class="PNB" style="top:40px;">
<div id="left_scroller" class="PNB clickable"> <div id="left_scroller" class="PNB clickable">
</div> </div>
<div class="PNB" id="sc_wrapper"> <div class="PNB" id="sc_wrapper">

View File

@@ -1,5 +1,5 @@
<div class="PNB10 container"> <div class="PNB10 container-bridge">
<div class="PNB" > <div class="PNB" >
<p style="width:100%;text-align:center;margin-top:30px;padding:10px;font-size:14px;font-weight:900"> <p style="width:100%;text-align:center;margin-top:30px;padding:10px;font-size:14px;font-weight:900">
{% set name = api.get_connector().get_name() %} {% set name = api.get_connector().get_name() %}

View File

@@ -1,4 +1,4 @@
<div class="PNB10 container"> <div class="PNB10 container-bridge">
<div class="PNB"> <div class="PNB">
<p style="text-align:center;margin:40px 20px 20px;"> <p style="text-align:center;margin:40px 20px 20px;">
{% trans 'Vous etes actuellement deconnecte de votre compte, vous devez vous connecter pour continuer' %} {% trans 'Vous etes actuellement deconnecte de votre compte, vous devez vous connecter pour continuer' %}

View File

@@ -29,7 +29,7 @@
</div> </div>
</td>--> </td>-->
{% endif %} {% endif %}
<td style="text-align:right;"> <td style="text-align:right;padding-right:2%">
{% set url = '/prod/bridge/adapter/' ~ account.get_id ~ '/' ~ adapter_action ~ '/' ~ action_type ~ '/' %} {% set url = '/prod/bridge/adapter/' ~ account.get_id ~ '/' ~ adapter_action ~ '/' ~ action_type ~ '/' %}
{{pages.paginator(elements.get_total_page(), elements.get_current_page(), url) }} {{pages.paginator(elements.get_total_page(), elements.get_current_page(), url) }}
</td> </td>
@@ -40,15 +40,15 @@
{% block response %} {% block response %}
{%for element in elements.get_elements%} {%for element in elements.get_elements%}
<div class="element {{ loop.index is odd ? 'odd' : 'even' }}"> <div class="element {{ loop.index is odd ? 'odd' : 'even' }}">
<table> <table style="width:100%;">
<tr> <tr>
<td style="width:20px;"> <td style="width:20px;">
<input class="bridge_element_selector" type="checkbox" value="{{element.get_id}}"/> <input class="bridge_element_selector" type="checkbox" value="{{element.get_id}}"/>
</td> </td>
<td class="thumbnail"> <td style="width:130px";>
{% if element.get_thumbnail != "" %} {% if element.get_thumbnail != "" %}
<div style="position:relative;"> <div style="position:relative;">
<img src="{{element.get_thumbnail}}" class="api_thumbnail"/> <img src="{{element.get_thumbnail}}" class="thumbnail api_thumbnail"/>
{% if element.get_duration != "" %} {% if element.get_duration != "" %}
<span class="duration_time"> <span class="duration_time">
{{element.get_duration}} {{element.get_duration}}

View File

@@ -1,7 +1,7 @@
{% import "common/thumbnail.html" as thumb %} {% import "common/thumbnail.html" as thumb %}
<div class="PNB main_window"> <div class="PNB" id='dialog_publicator'>
<div id='publicator_selection' class="PNB10 ui-corner-all"> <div id='publicator_selection' class="PNB10 ui-corner-all">
<div class="PNB10"> <div class="PNB10">
{% for id, record in route.get_elements %} {% for id, record in route.get_elements %}
@@ -116,14 +116,20 @@ $(function() {
}); });
$('.bridge_action', $panel).bind('click', function(){ $('.bridge_action', $panel).bind('click', function(){
var $this = $(this);
$.ajax({ $.ajax({
type : 'GET', type : 'GET',
url : $(this).attr('href'), url : $(this).attr('href'),
beforeSend : function(){ beforeSend : function(){
$('.container', $panel).empty().addClass('loading'); var container = $('.container-bridge', $panel);
container.empty();
if( ! $this.hasClass('bridge_logout')) {
container.addClass('loading');
}
}, },
success : function(datas){ success : function(datas){
$panel.removeClass('loading').append(datas); $('.container-bridge', $panel).removeClass('loading').append(datas);
panel_load($panel); panel_load($panel);
}, },
error:function(){ error:function(){
@@ -216,7 +222,7 @@ $(function() {
}); });
$('button.form_multiple_submitter', $panel).bind('click', function(){ $('a.form_multiple_submitter', $panel).bind('click', function(){
var $form = $(this).closest('form'); var $form = $(this).closest('form');
var elements = $('form[name="bridge_selection"] input[name="elements_list"]', $panel).val(); var elements = $('form[name="bridge_selection"] input[name="elements_list"]', $panel).val();
@@ -269,24 +275,22 @@ $(function() {
return false; return false;
}); });
} }
pub_tabs.tabs({ pub_tabs.tabs({
load: function(event, ui) load: function(event, ui)
{ {
$panel = $(ui.panel); $panel = $(ui.panel);
$('.container', $panel).removeClass('loading'); $('.container-bridge', $panel).removeClass('loading');
panel_load($panel); panel_load($panel);
} }
, panelTemplate : '<div class="PNB"><div class="PNB10 container"></div></div>' , panelTemplate : '<div class="PNB"><div class="PNB10 container-bridge"></div></div>'
, spinner: '<i>loading...</i>' , spinner: '<i>loading...</i>'
,select: function(event, ui) ,select: function(event, ui)
{ {
if($(ui.tab).hasClass('account')) if($(ui.tab).hasClass('account'))
{ {
var container = $('.container', ui.panel); var container = $('.container-bridge', ui.panel);
container.empty(); container.empty();
$('.container', ui.panel).addClass('loading'); $('.container', ui.panel).addClass('loading');
} }

View File

@@ -1,5 +1,5 @@
<div class="PNB10 container"> <div class="PNB10 container-bridge">
<div class="PNB"> <div class="PNB">
<p style="text-align:center;margin:40px 20px 20px;"> <p style="text-align:center;margin:40px 20px 20px;">
{% trans 'Le connecteur API requis n\'est pas configure correctement, veuillez contacter un administrateur' %} {% trans 'Le connecteur API requis n\'est pas configure correctement, veuillez contacter un administrateur' %}

View File

@@ -1,77 +1,76 @@
<div class="PNB10 container"> <div class="PNB10 container-bridge">
<div class="PNB" > <div class="api_banner">
<div class="api_banner PNB"> <table style="width:100%; height:20px;">
<table style="width:100%; height:20px;"> <tbody>
<tr>
<td>
{% for type, display_name in account.get_api().get_connector().get_element_types() %}
<a class="{% if adapter_action == 'load-elements' and action_type == type %} selected {% endif %} action_type_{{type}} bridge_action bridge_title" href="/prod/bridge/adapter/{{ account.get_id() }}/load-elements/{{ type }}/">
{{ display_name }}
</a>
{% if not loop.last %} - {% endif %}
{% endfor %}
|
{% for type, display_name in account.get_api().get_connector().get_container_types() %}
<a class="{% if adapter_action == 'load-containers' and action_type == type %} selected {% endif %} action_type_{{type}} bridge_action bridge_title" href="/prod/bridge/adapter/{{ account.get_id() }}/load-containers/{{ type }}/">
{{ display_name }}
</a>
{% if not loop.last %} - {% endif %}
{% endfor %}
<a class="{% if adapter_action == 'load-records' %} selected {% endif %} bridge_action bridge_title" href="/prod/bridge/adapter/{{ account.get_id() }}/load-records/">
{% trans 'Fichiers envoyes' %}
</a>
</td>
<td style="text-align:right;">
{% if account %}
<a class="bridge_action bridge_logout" href="/prod/bridge/adapter/{{ account.get_id() }}/logout/">
{% trans 'phraseanet:: deconnection' %}
</a>
{% endif %}
</td>
</tr>
</tbody>
</table>
</div>
<div class="api_content PNB" style="top:30px;bottom:30px;overflow:auto;background-color:#000;">
<div class="blockmenu">
<div>
{% block menu %}{% endblock %}
</div>
</div>
<div class="blockresponse" style="width:98%">
{% if error_message %}
<div class="ui-corner-all error_box">{{ error_message }}</div>
{% endif %}
{% if notice_message %}
<div class="ui-corner-all notice_box">{{ notice_message }}</div>
{% endif %}
{% block response %}{% endblock %}
</div>
</div>
<div class="PNB api_infos" style='bottom:0; height:25px;top:auto'>
<div >
<table style="width:100%; height:25px;">
<tbody> <tbody>
<tr> <tr>
<td> <td>
{% for type, display_name in account.get_api().get_connector().get_element_types() %} {% if account.get_api().get_connector().get_terms_url() %}
<a class="{% if adapter_action == 'load-elements' and action_type == type %} selected {% endif %} action_type_{{type}} bridge_action bridge_title" href="/prod/bridge/adapter/{{ account.get_id() }}/load-elements/{{ type }}/"> <a href="{{ account.get_api().get_connector().get_terms_url() }}" target="_blank">
{{ display_name }} {% trans 'Terms of service' %}
</a> </a>
{% if not loop.last %} - {% endif %} {% endif %}
{% endfor %}
|
{% for type, display_name in account.get_api().get_connector().get_container_types() %}
<a class="{% if adapter_action == 'load-containers' and action_type == type %} selected {% endif %} action_type_{{type}} bridge_action bridge_title" href="/prod/bridge/adapter/{{ account.get_id() }}/load-containers/{{ type }}/">
{{ display_name }}
</a>
{% if not loop.last %} - {% endif %}
{% endfor %}
| 
<a class="{% if adapter_action == 'load-records' %} selected {% endif %} bridge_action bridge_title" href="/prod/bridge/adapter/{{ account.get_id() }}/load-records/">
{% trans 'Fichiers envoyes' %}
</a>
</td> </td>
<td style="text-align:right;"> <td style="text-align:right;">
{% if account %} <a href="{{ account.get_api().get_connector().get_url() }}" target="_blank">
<a class="bridge_action" href="/prod/bridge/adapter/{{ account.get_id() }}/logout/"> {{ account.get_api().get_connector().get_infos() }}
{% trans 'phraseanet:: deconnection' %} <img style="height:16px;vertical-align:middle;" src="{{ account.get_api().get_connector().get_icon_url() }}" />
</a> </a>
{% endif %}
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="api_content PNB">
<div class="blockmenu PNB">
<div class="PNB10" style="bottom:0; top:0;">
{% block menu %}{% endblock %}
</div>
</div>
<div class="blockresponse PNB">
{% if error_message %}
<div class="ui-corner-all error_box">{{ error_message }}</div>
{% endif %}
{% if notice_message %}
<div class="ui-corner-all notice_box">{{ notice_message }}</div>
{% endif %}
{% block response %}{% endblock %}
</div>
</div>
<div class="PNB api_infos">
<div class="PNB10" style="top:0; bottom:0;">
<table style="width:100%; height:25px;">
<tbody>
<tr>
<td>
{% if account.get_api().get_connector().get_terms_url() %}
<a href="{{ account.get_api().get_connector().get_terms_url() }}" target="_blank">
{% trans 'Terms of service' %}
</a>
{% endif %}
</td>
<td style="text-align:right;">
<a href="{{ account.get_api().get_connector().get_url() }}" target="_blank">
{{ account.get_api().get_connector().get_infos() }}
<img style="height:16px;vertical-align:middle;" src="{{ account.get_api().get_connector().get_icon_url() }}" />
</a>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div> </div>
</div> </div>

View File

@@ -1,71 +1,18 @@
function publicator_reload_publicator() function publicator_reload_publicator()
{ {
var options = $('#dialog_publicator form[name="current_datas"]').serializeArray(); var options = $('#dialog_publicator form[name="current_datas"]').serializeArray();
var dialog = p4.Dialog.get(1);
var opts = { dialog.load('/prod/bridge/manager/', 'POST', options);
type : 'POST',
url : "/prod/bridge/manager/",
dataType : 'html',
data : options,
beforeSend : function(){
$('#dialog_publicator').empty().addClass("loading");
},
success : function(data){
publicator_load_datas(data);
},
error:function(){
$('#dialog_publicator').removeClass("loading");
},
timeout:function(){
$('#dialog_publicator').removeClass("loading");
}
}
$.ajax(opts);
}
function publicator_load_datas(data)
{
$('#dialog_publicator').removeClass("loading").empty().append(data);
$('#ul_main_pub_tabs li:first a').trigger('click');
} }
function init_publicator(datas) function init_publicator(datas)
{ {
$.ajax({ var dialog = p4.Dialog.Create({
type : 'POST', size:'Full',
url : "/prod/bridge/manager/", title:'Bridge',
dataType : 'html', loading: false
data : datas, });
success : function(data){
var div_publicator = $('#dialog_publicator');
publicator_dialog();
publicator_load_datas(data);
},
error:function(){
}, dialog.load('/prod/bridge/manager/', 'POST', datas);
timeout:function(){
}
});
}
function publicator_dialog()
{
var height = Math.max(bodySize.y - 40, 500);
var div_publicator = $('#dialog_publicator');
div_publicator.dialog({
width:900,
height:height,
modal:true,
closeOnEscape : true,
resizable : false,
overlay: {
backgroundColor: '#000',
opacity: 0.7
}
}).dialog('open');
} }

View File

@@ -37,11 +37,11 @@ img {
} }
#top_container { #top_container {
bottom: 186px; bottom: 190px;
} }
#bottom_container { #bottom_container {
height: 196px; height: 200px;
top: auto; top: auto;
bottom: -10px bottom: -10px
} }

View File

@@ -217,7 +217,6 @@ span.ww_winTitle {
#idFrameC .ui-tabs .ui-tabs-nav li { #idFrameC .ui-tabs .ui-tabs-nav li {
width: auto; width: auto;
*width: 74px;
height: 52px; height: 52px;
display: inline-block; display: inline-block;
background-color: #404040; background-color: #404040;
@@ -3437,24 +3436,28 @@ dans l'onglet thesaurus : arbres, menus contextuels
background-image: none; background-image: none;
} }
#pub_tabs .container { #dialog_publicator .dropdown-menu {
width: 660px; min-width: 95px;
background-color: #000000; background-color: #393939;
*border: 1px solid #515151;
}
#dialog_publicator .dropdown-menu a {
padding: 3px 10px;
font-size: 12px;
color: #aaaaaa;
cursor: pointer;
}
#dialog_publicator .dropdown-menu a:hover {
background-color: #313131;
color: #FFFFFF; color: #FFFFFF;
} }
#pub_tabs .container .blockmenu .dropdown-menu { #dialog_publicator .dropdown-menu .divider {
background-color: #000000; background-color: #515151;
border: 1px solid #404040; border-bottom: 1px solid #404040;
} margin: 3px 1px 3px 1px;
#pub_tabs .container .blockmenu .dropdown-menu a {
color: #EAEAEA;
}
#pub_tabs .container .blockmenu .dropdown-menu a:hover {
background-color: #0088CC;
color: #FFFFFF;
} }
#dialog_publicator .ui-tabs .ui-tabs-panel.loading { #dialog_publicator .ui-tabs .ui-tabs-panel.loading {
@@ -3523,12 +3526,12 @@ dans l'onglet thesaurus : arbres, menus contextuels
} }
#dialog_publicator .api_content .blockmenu { #dialog_publicator .api_content .blockmenu {
height: 100%;
bottom: auto; bottom: auto;
overflow: hidden;
background-repeat: repeat-x; background-repeat: repeat-x;
background-position: left bottom; background-position: left bottom;
z-index: 1000; z-index: 1000;
width:100%;
height:40px
} }
#dialog_publicator .api_content .blockmenu a.selected, #dialog_publicator .api_content .blockmenu a.selected,
@@ -3563,30 +3566,6 @@ dans l'onglet thesaurus : arbres, menus contextuels
float: left; float: left;
} }
#dialog_publicator .main_menu button {
z-index: 555;
font-size: 13px;
font-weight: normal;
}
#dialog_publicator .main_menu .submenu button {
width: 145px;
z-index: 555;
background-color: #111;
font-size: 13px;
font-weight: normal;
border-color: #666;
}
#dialog_publicator .element_menu .submenu button {
width: 145px;
z-index: 555;
background-color: #111;
font-size: 13px;
font-weight: normal;
border-color: #666;
}
#dialog_publicator .diapo .title { #dialog_publicator .diapo .title {
height: 16px; height: 16px;
overflow: hidden; overflow: hidden;

View File

@@ -217,7 +217,6 @@ span.ww_winTitle {
#idFrameC .ui-tabs .ui-tabs-nav li { #idFrameC .ui-tabs .ui-tabs-nav li {
width: auto; width: auto;
*width: 74px;
height: 52px; height: 52px;
display: inline-block; display: inline-block;
background-color: #999999; background-color: #999999;
@@ -3569,26 +3568,6 @@ dans l'onglet thesaurus : arbres, menus contextuels
background-image: none; background-image: none;
} }
#pub_tabs .container {
width: 660px;
background-color: #D9D9D9;
color: #FFFFFF;
}
#pub_tabs .container .blockmenu .dropdown-menu {
background-color: #E6E6E6;
border: 1px solid #D9D9D9;
}
#pub_tabs .container .blockmenu .dropdown-menu a {
color: #333333;
}
#pub_tabs .container .blockmenu .dropdown-menu a:hover {
background-color: #0088CC;
color: #FFFFFF;
}
#dialog_publicator .ui-tabs .ui-tabs-panel.loading { #dialog_publicator .ui-tabs .ui-tabs-panel.loading {
background-image: url('/skins/icons/loader000.gif'); background-image: url('/skins/icons/loader000.gif');
background-position: center center; background-position: center center;
@@ -3603,6 +3582,31 @@ dans l'onglet thesaurus : arbres, menus contextuels
background-color: #202020; background-color: #202020;
} }
#dialog_publicator .dropdown-menu {
min-width: 95px;
background-color: #A4A4A4;
*border: 1px solid #666666;
}
#dialog_publicator .dropdown-menu a {
padding: 3px 10px;
font-size: 12px;
color: #EAEAEA;
cursor: pointer;
}
#dialog_publicator .dropdown-menu a:hover {
background-color: #666666;
color: #FFFFFF;
}
#dialog_publicator .dropdown-menu .divider {
background-color: #777777;
border-bottom: 1px solid #B0B0B0;
margin: 3px 1px;
}
#ul_main_pub_tabs { #ul_main_pub_tabs {
width: 200px; width: 200px;
position: absolute; position: absolute;
@@ -3655,12 +3659,12 @@ dans l'onglet thesaurus : arbres, menus contextuels
} }
#dialog_publicator .api_content .blockmenu { #dialog_publicator .api_content .blockmenu {
height: 100%;
bottom: auto; bottom: auto;
overflow: hidden;
background-repeat: repeat-x; background-repeat: repeat-x;
background-position: left bottom; background-position: left bottom;
z-index: 1000; z-index: 1000;
width:100%;
height:40px
} }
#dialog_publicator .api_content .blockmenu a.selected, #dialog_publicator .api_content .blockmenu a.selected,
@@ -3691,34 +3695,6 @@ dans l'onglet thesaurus : arbres, menus contextuels
color: #999999; color: #999999;
} }
#dialog_publicator .main_menu {
float: left;
}
#dialog_publicator .main_menu button {
z-index: 555;
font-size: 13px;
font-weight: normal;
}
#dialog_publicator .main_menu .submenu button {
width: 145px;
z-index: 555;
background-color: #111;
font-size: 13px;
font-weight: normal;
border-color: #666;
}
#dialog_publicator .element_menu .submenu button {
width: 145px;
z-index: 555;
background-color: #111;
font-size: 13px;
font-weight: normal;
border-color: #666;
}
#dialog_publicator .diapo .title { #dialog_publicator .diapo .title {
height: 16px; height: 16px;
overflow: hidden; overflow: hidden;