2022-05-19 19:15:25 +00:00
< div class = "card mt-3 mb-5" ng-show = "!config.wip && timeProgression && !displayDangerousActions" >
< div class = "card-header bg-secondary text-light" >
< h3 class = "mb-0" >
Synchronisation
< / h3 >
< / div >
< div class = "card-body" >
< div class = "form-check" >
< label class = "custom-control custom-checkbox" >
< input class = "custom-control-input" type = "checkbox" ng-model = "displayDangerousActions" >
< strong class = "custom-control-label" > Je sais ce que le challenge a démarré ET < span style = "text-decoration: underline red;" > j'ai réalisé une sauvegarde de la base de données il y a moins d'une minute< / span > ET je sais que c'est < span style = "text-decoration: underline yellow;" > une très mauvaise idée de cocher cette case< / span > , mais j'y suis obligé pour de bonnes raisons.< / strong >
< / label >
< / div >
< / div >
< / div >
2022-05-20 08:00:46 +00:00
< div class = "card my-3" ng-if = "config.wip || !timeProgression || displayDangerousActions" >
< div class = "card-header d-flex justify-content-between" >
< h3 class = "mb-0" >
Import des thèmes
< / h3 >
< div class = "badge badge-success align-self-center" ng-if = "syncReport" >
Dernier import : {{ syncReport._date[1] }}
< / div >
< / div >
< div class = "progress" style = "height: 5px; border-radius: 0;" >
< div class = "progress-bar bg-primary progress-bar-striped" ng-class = "{'progress-bar-animated': syncPercent && syncPercent < 100}" role = "progressbar" style = "width: {{ syncPercent }}%" > < / div >
< / div >
2022-05-19 19:15:25 +00:00
< div class = "card-body" >
< dl class = "row" >
2022-05-20 08:00:46 +00:00
< dt class = "col-2" > Type< / dt >
< dd class = "col-10" ng-bind = "configro['sync-type']" > < / dd >
2022-05-19 19:15:25 +00:00
< dt class = "col-2" > Synchronisation< / dt >
2022-05-20 08:00:46 +00:00
< dd class = "col-10" title = "{{ configro['sync'] }}" ng-bind = "configro.sync" > < / dd >
2022-05-19 19:15:25 +00:00
< dt class = "col-2" ng-if = "configro['sync-id']" > ID< / dt >
< dd class = "col-10" ng-if = "configro['sync-id']" > {{ configro['sync-id'] }}< / dd >
2022-05-20 08:00:46 +00:00
< dt class = "col-2" ng-if = "configro['sync']" > Statut< / dt >
< dd class = "col-10" ng-if = "configro['sync']" > {{ syncProgress }}< / dd >
2022-05-19 19:15:25 +00:00
< / dl >
2022-05-20 08:00:46 +00:00
< div class = "d-flex justify-content-around" ng-if = "configro.sync" >
2022-05-19 19:15:25 +00:00
< button ng-if = "configro['sync-type'] === 'GitImporter'" type = "button" class = "btn btn-info" ng-click = "baseSync()" ng-disabled = "deepSyncInProgress" > < span class = "glyphicon glyphicon-repeat" aria-hidden = "true" > < / span > Pull< / button >
2022-05-20 08:00:46 +00:00
< div class = "btn-group dropright" >
2022-05-19 19:15:25 +00:00
< button type = "button" class = "btn btn-secondary" ng-click = "deepSync()" ng-disabled = "deepSyncInProgress" > < span class = "glyphicon glyphicon-import" aria-hidden = "true" > < / span > Synchronisation intégrale< / button >
< button type = "button" class = "btn btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "false" ng-disabled = "deepSyncInProgress" >
< span class = "sr-only" > Toggle Dropdown< / span >
< / button >
2022-05-20 08:00:46 +00:00
< div class = "dropdown-menu" ng-controller = "ThemesListController" style = "max-height: 45vh; overflow: auto" >
2022-05-19 19:15:25 +00:00
< a class = "dropdown-item" ng-click = "deepSync(theme)" ng-repeat = "theme in themes" ng-bind = "theme.name" > < / a >
< / div >
< / div >
< button type = "button" class = "btn btn-secondary" ng-click = "speedyDeepSync()" ng-disabled = "deepSyncInProgress" > < span class = "glyphicon glyphicon-import" aria-hidden = "true" > < / span > Synchronisation sans fichiers< / button >
< / div >
< / div >
< / div >
2022-05-20 08:00:46 +00:00
< div ng-if = "syncReport" class = "card mb-5" ng-controller = "ThemesListController" >
< div class = "card-header" >
< a href = "check_import.html" class = "btn btn-success float-right mx-1" target = "_self" >
< span class = "glyphicon glyphicon-link" aria-hidden = "true" > < / span >
Lien public
< / a >
< button type = "button" class = "btn btn-primary float-right mx-1" ng-click = "updateReport()" title = "Actualiser le rapport" >
< span class = "glyphicon glyphicon-refresh" aria-hidden = "true" > < / span >
< / button >
< h3 class = "mb-0" >
Dernier rapport de synchronisation
< / h3 >
< / div >
< div ng-repeat = "(th, line) in syncReport" class = "card-body" ng-if = "th !== '_date' && line.length" >
< h3 >
{{ th }}
< a ng-repeat = "theme in themes" ng-if = "theme.name == th" href = "themes/{{ theme.id }}" title = "Voir le thème" >
< span class = "glyphicon glyphicon-hand-right" aria-hidden = "true" > < / span >
< / a >
< / h3 >
< ul >
< li ng-repeat = "item in line" > {{ item }}< / li >
< / ul >
< / div >
< / div >