From 3bfd9a319dee5113ff4ce0edbc4096a4d70f45a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD=20=D0=91=D0=B0=D0=B3=D0=BB?=
 =?UTF-8?q?=D0=B8=D0=B9?= <taccessviolation@gmail.com>
Date: Fri, 31 Aug 2018 19:11:39 +0300
Subject: [PATCH] REF: return old sync page #297

---
 deploy/phpConfig/sidePanel/admin.json         |  3 ++-
 deploy/phpConfig/sidePanel/dean.json          |  3 ++-
 deploy/phpConfig/sync.php                     | 13 ++++++++++
 media/js/office/sync.js                       | 25 +++++++++++++++----
 .../classes/Controller/Office/Sync.php        |  9 ++++---
 .../application/views/office/sync.twig        | 13 ++++++++++
 6 files changed, 56 insertions(+), 10 deletions(-)
 create mode 100644 deploy/phpConfig/sync.php

diff --git a/deploy/phpConfig/sidePanel/admin.json b/deploy/phpConfig/sidePanel/admin.json
index 71bba2b42..a10329082 100644
--- a/deploy/phpConfig/sidePanel/admin.json
+++ b/deploy/phpConfig/sidePanel/admin.json
@@ -31,7 +31,8 @@
 			{ "Title": "История авторизаций", "Anchor": "logs" },
 			{ "Title": "История выставления баллов", "Anchor": "#", "Disabled": "true" },
 			{ "Title": "Токены авторизации", "Anchor": "authTokens" },
-			{ "Title": "Поддержка", "Anchor": "support" }
+			{ "Title": "Поддержка", "Anchor": "support" },
+			{ "Title": "Синхронизация с 1С", "Anchor": "sync" }
 		]
 	},
 	{
diff --git a/deploy/phpConfig/sidePanel/dean.json b/deploy/phpConfig/sidePanel/dean.json
index 345304260..7b6acfc08 100644
--- a/deploy/phpConfig/sidePanel/dean.json
+++ b/deploy/phpConfig/sidePanel/dean.json
@@ -28,7 +28,8 @@
 		"Items": [
 			{ "Title": "История авторизаций", "Anchor": "logs" },
 			{ "Title": "История выставления баллов", "Anchor": "#", "Disabled": "true" },
-			{ "Title": "Поддержка", "Anchor": "support" }
+			{ "Title": "Поддержка", "Anchor": "support" },
+			{ "Title": "Синхронизация с 1С", "Anchor": "sync" }
 		]
 	}
 ]
diff --git a/deploy/phpConfig/sync.php b/deploy/phpConfig/sync.php
new file mode 100644
index 000000000..3b1167640
--- /dev/null
+++ b/deploy/phpConfig/sync.php
@@ -0,0 +1,13 @@
+<?php defined('SYSPATH') or die('No direct script access.');
+
+return array(
+    /*
+     * Настройки доступа к серверу синхронизации
+     */
+    'syncDaemon' => array(
+        /*
+         * адрес
+         */
+        'url' => 'http://localhost:3000',
+     )
+);
diff --git a/media/js/office/sync.js b/media/js/office/sync.js
index 68636ccdb..dc51e4e90 100644
--- a/media/js/office/sync.js
+++ b/media/js/office/sync.js
@@ -1,11 +1,26 @@
 "use strict";
 
 $(document).ready(()=>{
-    const pathToSfeduAPIAdapter = 'http://grade.local/sync/';
-
-    $('#syncInnerDepartments').click(()=>{
-        $.get(pathToSfeduAPIAdapter + 'subdivisions/inner');
-    });
+    //const pathToSfeduAPIAdapter = $('#sync_api_url').html();
+    const pathToSfeduAPIAdapter = 'http://localhost:3000/';
+
+    //$('#syncInnerDepartments').click(()=>{
+    //    $.get(pathToSfeduAPIAdapter + 'subdivisions/inner');
+    //});
+    function parseLogs() {
+        let $logs = $('#json_logs');
+
+        let logsRaw = JSON.parse($logs.html() || '{}');
+        return logsRaw;
+    }
+
+    //let logs = parseLogs();
+
+    //$('.syncErrorMessage').click(()=>{
+    //   const rowIndex = $(this).parent().index();
+    //    var opened = window.open("");
+    //    opened.document.write(logs[rowIndex].content);
+    //});
 
     $('#syncDepartments').click(()=>{
         $.get(pathToSfeduAPIAdapter + 'subdivisions');
diff --git a/~dev_rating/application/classes/Controller/Office/Sync.php b/~dev_rating/application/classes/Controller/Office/Sync.php
index 2b69919e4..dc5090909 100644
--- a/~dev_rating/application/classes/Controller/Office/Sync.php
+++ b/~dev_rating/application/classes/Controller/Office/Sync.php
@@ -19,8 +19,8 @@ class Controller_Office_Sync extends Controller_Environment_Office
      */
     private function getLog()
     {
-        //next example will recieve all messages for specific conversation
-        $service_url = 'http://grade.local/sync/syncLog';
+        $config = Kohana::$config->load('sync.syncDaemon');
+        $service_url = $config['url'].'/logs';
         $curl = curl_init($service_url);
         curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
         $curl_response = curl_exec($curl);
@@ -49,9 +49,12 @@ class Controller_Office_Sync extends Controller_Environment_Office
     {
 
         $log = $this->getLog();
+        $config = Kohana::$config->load('sync.syncDaemon');
+        $service_url = $config['url'];
 
         $this->twig->set([
-            'log' => $log
+            'log' => $log,
+            'api_url' => $service_url,
         ])->set_filename(static::OFFICE . 'sync');
     }
 }
diff --git a/~dev_rating/application/views/office/sync.twig b/~dev_rating/application/views/office/sync.twig
index 06c687265..2a5aa2e8d 100644
--- a/~dev_rating/application/views/office/sync.twig
+++ b/~dev_rating/application/views/office/sync.twig
@@ -159,7 +159,11 @@
 					<tr style="background-color: #F0622E">
 				{% endif %}
 					<td>{{ line.type }}</td>
+                {% if line.success %}
 					<td>{{ line.message }}</td>
+                {% else %}
+					<td> <a class="syncErrorMessage">{{ line.message }} </a> </td>
+                {% endif %}
 					<td>{{ line.localTimestamp }}</td>
 				</tr>
 			{% endfor %}
@@ -167,4 +171,13 @@
 	</table>
 
 	</div>
+
+	<div id="json_logs" style="display: none">
+        {{ log|json_encode|raw }}
+	</div>
+
+	{#  TODO: передать адрес демона в js здесь #}
+	{# <div id="sync_api_url" style="display: none">
+        {{ api_url }}
+	</div> #}
 {% endblock %}
-- 
GitLab