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) {
$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) {
$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) {
$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) {
$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') {
$datas = array(

View File

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

View File

@@ -1,5 +1,5 @@
<div class="PNB10 container">
<div class="PNB10 container-bridge">
<div class="PNB" >
<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() %}

View File

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

View File

@@ -29,7 +29,7 @@
</div>
</td>-->
{% 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 ~ '/' %}
{{pages.paginator(elements.get_total_page(), elements.get_current_page(), url) }}
</td>
@@ -40,15 +40,15 @@
{% block response %}
{%for element in elements.get_elements%}
<div class="element {{ loop.index is odd ? 'odd' : 'even' }}">
<table>
<table style="width:100%;">
<tr>
<td style="width:20px;">
<input class="bridge_element_selector" type="checkbox" value="{{element.get_id}}"/>
</td>
<td class="thumbnail">
<td style="width:130px";>
{% if element.get_thumbnail != "" %}
<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 != "" %}
<span class="duration_time">
{{element.get_duration}}

View File

@@ -1,7 +1,7 @@
{% 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 class="PNB10">
{% for id, record in route.get_elements %}
@@ -116,14 +116,20 @@ $(function() {
});
$('.bridge_action', $panel).bind('click', function(){
var $this = $(this);
$.ajax({
type : 'GET',
url : $(this).attr('href'),
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){
$panel.removeClass('loading').append(datas);
$('.container-bridge', $panel).removeClass('loading').append(datas);
panel_load($panel);
},
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 elements = $('form[name="bridge_selection"] input[name="elements_list"]', $panel).val();
@@ -269,24 +275,22 @@ $(function() {
return false;
});
}
pub_tabs.tabs({
load: function(event, ui)
{
$panel = $(ui.panel);
$('.container', $panel).removeClass('loading');
$('.container-bridge', $panel).removeClass('loading');
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>'
,select: function(event, ui)
{
if($(ui.tab).hasClass('account'))
{
var container = $('.container', ui.panel);
var container = $('.container-bridge', ui.panel);
container.empty();
$('.container', ui.panel).addClass('loading');
}

View File

@@ -1,5 +1,5 @@
<div class="PNB10 container">
<div class="PNB10 container-bridge">
<div class="PNB">
<p style="text-align:center;margin:40px 20px 20px;">
{% 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="PNB" >
<div class="api_banner PNB">
<table style="width:100%; height:20px;">
<div class="PNB10 container-bridge">
<div class="api_banner">
<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>
<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>
{% 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;">
{% if account %}
<a class="bridge_action" href="/prod/bridge/adapter/{{ account.get_id() }}/logout/">
{% trans 'phraseanet:: deconnection' %}
<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>
{% endif %}
</td>
</tr>
</tbody>
</table>
</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>

View File

@@ -1,71 +1,18 @@
function publicator_reload_publicator()
{
var options = $('#dialog_publicator form[name="current_datas"]').serializeArray();
var opts = {
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');
var options = $('#dialog_publicator form[name="current_datas"]').serializeArray();
var dialog = p4.Dialog.get(1);
dialog.load('/prod/bridge/manager/', 'POST', options);
}
function init_publicator(datas)
{
$.ajax({
type : 'POST',
url : "/prod/bridge/manager/",
dataType : 'html',
data : datas,
success : function(data){
var div_publicator = $('#dialog_publicator');
publicator_dialog();
publicator_load_datas(data);
},
error:function(){
var dialog = p4.Dialog.Create({
size:'Full',
title:'Bridge',
loading: false
});
},
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');
dialog.load('/prod/bridge/manager/', 'POST', datas);
}

View File

@@ -19,8 +19,8 @@ a, a:hover, a:visited {
color: #BFBFBF;
}
#record_infos a,
#record_infos a:hover,
#record_infos a,
#record_infos a:hover,
#record_infos a:visited {
color: #000000;
}
@@ -37,11 +37,11 @@ img {
}
#top_container {
bottom: 186px;
bottom: 190px;
}
#bottom_container {
height: 196px;
height: 200px;
top: auto;
bottom: -10px
}

View File

@@ -217,7 +217,6 @@ span.ww_winTitle {
#idFrameC .ui-tabs .ui-tabs-nav li {
width: auto;
*width: 74px;
height: 52px;
display: inline-block;
background-color: #404040;
@@ -3437,24 +3436,28 @@ dans l'onglet thesaurus : arbres, menus contextuels
background-image: none;
}
#pub_tabs .container {
width: 660px;
background-color: #000000;
#dialog_publicator .dropdown-menu {
min-width: 95px;
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;
}
#pub_tabs .container .blockmenu .dropdown-menu {
background-color: #000000;
border: 1px solid #404040;
}
#pub_tabs .container .blockmenu .dropdown-menu a {
color: #EAEAEA;
}
#pub_tabs .container .blockmenu .dropdown-menu a:hover {
background-color: #0088CC;
color: #FFFFFF;
#dialog_publicator .dropdown-menu .divider {
background-color: #515151;
border-bottom: 1px solid #404040;
margin: 3px 1px 3px 1px;
}
#dialog_publicator .ui-tabs .ui-tabs-panel.loading {
@@ -3523,12 +3526,12 @@ dans l'onglet thesaurus : arbres, menus contextuels
}
#dialog_publicator .api_content .blockmenu {
height: 100%;
bottom: auto;
overflow: hidden;
background-repeat: repeat-x;
background-position: left bottom;
z-index: 1000;
width:100%;
height:40px
}
#dialog_publicator .api_content .blockmenu a.selected,
@@ -3563,30 +3566,6 @@ dans l'onglet thesaurus : arbres, menus contextuels
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 {
height: 16px;
overflow: hidden;

View File

@@ -217,7 +217,6 @@ span.ww_winTitle {
#idFrameC .ui-tabs .ui-tabs-nav li {
width: auto;
*width: 74px;
height: 52px;
display: inline-block;
background-color: #999999;
@@ -3569,26 +3568,6 @@ dans l'onglet thesaurus : arbres, menus contextuels
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 {
background-image: url('/skins/icons/loader000.gif');
background-position: center center;
@@ -3603,6 +3582,31 @@ dans l'onglet thesaurus : arbres, menus contextuels
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 {
width: 200px;
position: absolute;
@@ -3655,12 +3659,12 @@ dans l'onglet thesaurus : arbres, menus contextuels
}
#dialog_publicator .api_content .blockmenu {
height: 100%;
bottom: auto;
overflow: hidden;
background-repeat: repeat-x;
background-position: left bottom;
z-index: 1000;
width:100%;
height:40px
}
#dialog_publicator .api_content .blockmenu a.selected,
@@ -3691,34 +3695,6 @@ dans l'onglet thesaurus : arbres, menus contextuels
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 {
height: 16px;
overflow: hidden;