contents.php 4.1 KB
Newer Older
Marcello Pivanti's avatar
Marcello Pivanti committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php

/**
 * Art-ER Attrattività, ricerca e territorio dell’Emilia-Romagna
 * OPEN 2.0
 *
 * @package    Open20Package
 * @category   CategoryName
 * @author     Elite Division S.r.l.
 */

use elitedivision\amos\core\helpers\Html;
use elitedivision\amos\core\views\DataProviderView;
use yii\widgets\Pjax;
use yii\helpers\StringHelper;
use yii\helpers\Inflector;
use elitedivision\amos\translation\AmosTranslation;
use elitedivision\amos\translation\models\TranslationConf;
use elitedivision\amos\core\icons\AmosIcons;

/**
 * @var yii\web\View $this
 * @var yii\data\ActiveDataProvider $dataProvider
 * @var backend\modules\registry\models\search\ProfessionalProfilesSearch $model
 */
$this->title = AmosTranslation::t('amostranslation', 'Translate contents');
$this->params['breadcrumbs'][] = ['label' => AmosTranslation::t('amostranslation', 'Translate manager'), 'url' => ['/translation']];
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="professional-profiles-index">
    <?php echo $this->render('_filter', ['model' => $model]); ?>

    <p>
        <?php /* echo         Html::a('Nuovo Professional Profiles'        , ['create'], ['class' => 'btn btn-amministration-primary']) */ ?>
    </p>

    <?php     
    echo elitedivision\amos\core\views\AmosGridView::widget([
        'dataProvider' => $dataProvider,
        'columns' => [
            [
                'attribute' => 'plugin',
                'label' => AmosTranslation::t('amostranslation', 'Plugin'),
                'value' => function ($model){
                    return ucfirst($model['plugin']);
                },
              'group' => true,
            ],
            [
                'attribute' => 'id_translate', 
                'label' => AmosTranslation::t('amostranslation', 'Models'),
                'value' => function ($model) {
                    return Inflector::camel2words(StringHelper::basename($model['namespace']));
                }
            ],         
            [
                'attribute' => 'language_id',
                'label' => AmosTranslation::t('amostranslation', 'Language'),      
                'value' => function($model){                  
                    return strtoupper($model['language_id']) . ' (' . $model['name'] . ')';
                }
            ],
                    [
            'attribute' => 'progress_bar',
            'label' => AmosTranslation::t('amostranslation', 'Translation progress'),
            'format' => 'raw',
            'value' => function($model) {
                $conf = new TranslationConf();
                $bars = $conf->getProgress($model['namespace'], $model['language_id']);
                return \yii\bootstrap\Progress::widget($bars);
            }
        ],
               [
            'class' => \elitedivision\amos\core\views\grid\ActionColumn::className(),
            'template' => '{custom}',
            'buttons' => [
                'custom' => function ($url, $model) {         
                    $url = yii\helpers\Url::current();
                    $newModel = \Yii::$app->getModule('translation')->modelNs . "\\" . StringHelper::basename($model['namespace']) . "Translation";
                    $urlDestinazione = \Yii::$app->urlManager->createUrl(['/translation/default/records', 'namespace' => $model['namespace'] , 'lang' => $model['language_id'], 'url' => $url]);
                    if(\Yii::$app->getUser()->can('TRANSLATOR', ['model' => (new $newModel), 'language' => $model['language_id']]) && ((!empty(\Yii::$app->getModule('translation')->defaultLanguage) && $model['language_id'] != \Yii::$app->getModule('translation')->defaultLanguage) || (!isset(\Yii::$app->getModule('translation')->defaultLanguage)))){
                    return \yii\helpers\Html::a(AmosIcons::show('square-right', ['class' => 'btn btn-tool-secondary']), $urlDestinazione, [
                        'title' => AmosTranslation::t('app', 'Go to records to translate'),
                        'model' => $model
                    ]);
                    } else {
                        return '';
                    }
                },

            ]
        ]
        ],
    ]);
    ?>

</div>