Professional Documents
Culture Documents
Mejora Turnos, Parcial Ui Modo TV: Commit Authored 2 Weeks Ago by
Mejora Turnos, Parcial Ui Modo TV: Commit Authored 2 Weeks Ago by
Mejora Turnos, Parcial Ui Modo TV: Commit Authored 2 Weeks Ago by
app/Events/TurnCalled.php 0 → 100644
1 + <?php
2 +
3 + namespace App\Events;
4 +
5 + use Illuminate\Broadcasting\Channel;
6 + use Illuminate\Broadcasting\InteractsWithSockets;
7 + use Illuminate\Broadcasting\PresenceChannel;
8 + use Illuminate\Broadcasting\PrivateChannel;
9 + use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
10 + use Illuminate\Foundation\Events\Dispatchable;
11 + use Illuminate\Queue\SerializesModels;
12 +
13 + class TurnCalled implements ShouldBroadcast
14 +{
15 + use Dispatchable, InteractsWithSockets, SerializesModels;
16 +
17 + public $data;
18 +
19 + /**
20 + * Create a new event instance.
21 + *
22 + * @return void
23 + */
24 + public function __construct($data)
25 + {
26 + $this->data = $data;
27 + }
28 +
29 + /**
30 + * Get the channels the event should broadcast on.
31 + *
32 + * @return \Illuminate\Broadcasting\Channel|array
33 + */
34 + public function broadcastOn()
35 + {
36 + return new Channel('turns');
37 + }
38 +}
app/Http/Controllers/API/TurnController.php
... ... @@ -3,6 +3,7 @@
3 3 namespace App\Http\Controllers\API;
4 4
5 5 use App\Client;
6 + use App\Events\TurnCalled;
6 7 use App\Http\Controllers\Controller;
7 8 use App\Queue;
8 9 use App\Turn;
... ... @@ -11,8 +12,23 @@ use Illuminate\Http\Request;
11 12
12 13 class TurnController extends Controller
13 14 {
https://gitlab.com/guille.agudelo/transito-frontend/-/commit/41df2d69cd8bce4ac47c3e17270397cde4469fab 1/15
29/6/2020 Mejora turnos, parcial ui modo tv (41df2d69) · Commits · Guillermo Agudelo / transito-frontend · GitLab
https://gitlab.com/guille.agudelo/transito-frontend/-/commit/41df2d69cd8bce4ac47c3e17270397cde4469fab 2/15
29/6/2020 Mejora turnos, parcial ui modo tv (41df2d69) · Commits · Guillermo Agudelo / transito-frontend · GitLab
71 95 }
app/Http/Controllers/HomeController.php
... ... @@ -2,6 +2,8 @@
2 2
3 3 namespace App\Http\Controllers;
4 4
5 + use App\Events\TurnCalled;
6 +
5 7 class HomeController extends Controller
6 8 {
7 9
... ... @@ -14,4 +16,10 @@ class HomeController extends Controller
14 16 {
15 17 return view('dashboard');
16 18 }
19 +
20 + public function tv()
21 + {
22 + return view('pages.tv');
23 + }
24 +
17 25 }
app/Http/Controllers/QueueController.php
... ... @@ -16,8 +16,7 @@ class QueueController extends Controller
16 16
17 17 $lastQueueOrder = Queue::getNextOrder()-1;
18 18
19 -
20 - $services = Service::where('idBranch', '=', \State::get('branch.id'))->get();
19 + $services = Service::whereGetInstances('idBranch', '=', \State::get('branch.id'));
21 20
22 21 return view('queue.index', compact('services', 'queue', 'lastQueueOrder'));
23 22 }
... ... @@ -70,7 +69,7 @@ class QueueController extends Controller
70 69 'idCompany' => $data['id-company'],
71 70 'idService' => $data['id-service'],
72 71 'isPriority' => (bool)$request->has('is-priority'),
73 - 'uid' => $client->id(),
72 + 'uid' => $client->field('uid'),
74 73 'createdBy' => \LfAuth::id(),
75 74 'createdAt' => date_create(),
76 75 ];
... ...
app/Http/Controllers/TurnController.php
... ... @@ -2,6 +2,8 @@
2 2
3 3 namespace App\Http\Controllers;
4 4
5 + use App\Client;
6 + use App\Queue;
5 7 use Illuminate\Http\Request;
6 8
7 9 class TurnController extends Controller
... ...
app/Queue.php
https://gitlab.com/guille.agudelo/transito-frontend/-/commit/41df2d69cd8bce4ac47c3e17270397cde4469fab 3/15
29/6/2020 Mejora turnos, parcial ui modo tv (41df2d69) · Commits · Guillermo Agudelo / transito-frontend · GitLab
app/Support/LarafireModel.php
... ... @@ -29,7 +29,7 @@ class LarafireModel implements JsonSerializable
29 29
30 30 // HELPERS
31 31
32 - private static function rowsToInstances(array $rows)
32 + public static function rowsToInstances(array $rows)
33 33 {
34 34 return array_map(function($row) {
35 35 $instance = self::getNewInstance();
... ... @@ -76,24 +76,31 @@ class LarafireModel implements JsonSerializable
76 76
77 77 public static function where($field, $operation, $value)
78 78 {
79 - // $instance = self::getNewInstance();
80 - //
79 + $instance = self::getNewInstance();
80 +
81 81 // if (!self::$isInstance) $instance = $this;
82 82
83 - $instance = self::getNewInstance();
84 - if (!$instance->firebaseObject) $instance->firebaseObject = $instance->collection;
85 - // dd('la',$instance->getFirebaseObject()->documents());
83 + // $instance = self::getNewInstance();
84 + // if (!$instance->firebaseObject) $instance->firebaseObject = $instance->collection;
86 85
87 - $instance->firebaseObject = $instance->firebaseObject->where($field, $operation, $value);
86 + // $instance->firebaseObject = $instance->firebaseObject->where($field, $operation, $value);
87 + return $instance->collection->where($field, $operation, $value);
88 88
89 - return $instance;
89 + // return $instance;
90 + }
91 +
92 + public static function whereGetInstances($field, $operation, $value)
93 + {
94 + $rows = self::where($field, $operation, $value)->documents()->rows();
95 +
96 + return self::rowsToInstances($rows);
90 97 }
91 98
92 99 public static function first($field, $operation, $value)
93 100 {
94 101 $instance = self::getNewInstance();
95 102
96 - if (!self::$isInstance) $instance = $this;
103 + // if (!self::$isInstance) $instance = $this;
97 104
98 105 $results = $instance->collection->where($field, $operation, $value)->limit(1)->documents()->rows();
99 106
... ... @@ -125,25 +132,13 @@ class LarafireModel implements JsonSerializable
125 132 // $instance = self::getInstance();
126 133 $instance = self::getNewInstance();
https://gitlab.com/guille.agudelo/transito-frontend/-/commit/41df2d69cd8bce4ac47c3e17270397cde4469fab 4/15
29/6/2020 Mejora turnos, parcial ui modo tv (41df2d69) · Commits · Guillermo Agudelo / transito-frontend · GitLab
app/Turn.php
1 -*
2 - !.gitignore
bootstrap/cache/config.php 0 → 100644
bootstrap/cache/packages.php 0 → 100755
22 + 'providers' =>
23 + array (
24 + 0 => 'Fruitcake\\Cors\\CorsServiceProvider',
25 + ),
26 + ),
27 + 'kreait/laravel-firebase' =>
28 + array (
29 + 'providers' =>
30 + array (
31 + 0 => 'Kreait\\Laravel\\Firebase\\ServiceProvider',
32 + ),
33 + 'aliases' =>
34 + array (
35 + 'FirebaseAuth' => 'Kreait\\Laravel\\Firebase\\Facades\\FirebaseAuth',
36 + 'FirebaseDatabase' => 'Kreait\\Laravel\\Firebase\\Facades\\FirebaseDatabase',
37 + 'FirebaseDynamicLinks' => 'Kreait\\Laravel\\Firebase\\Facades\\FirebaseDynamicLinks',
38 + 'FirebaseFirestore' => 'Kreait\\Laravel\\Firebase\\Facades\\FirebaseFirestore',
39 + 'FirebaseMessaging' => 'Kreait\\Laravel\\Firebase\\Facades\\FirebaseMessaging',
40 + 'FirebaseRemoteConfig' => 'Kreait\\Laravel\\Firebase\\Facades\\FirebaseRemoteConfig',
41 + 'FirebaseStorage' => 'Kreait\\Laravel\\Firebase\\Facades\\FirebaseStorage',
42 + ),
43 + ),
44 + 'laravel-frontend-presets/argon' =>
45 + array (
46 + 'providers' =>
47 + array (
48 + 0 => 'LaravelFrontendPresets\\ArgonPreset\\ArgonPresetServiceProvider',
49 + ),
50 + ),
51 + 'laravel/tinker' =>
52 + array (
53 + 'providers' =>
54 + array (
55 + 0 => 'Laravel\\Tinker\\TinkerServiceProvider',
56 + ),
57 + ),
58 + 'laravel/ui' =>
59 + array (
60 + 'providers' =>
61 + array (
62 + 0 => 'Laravel\\Ui\\UiServiceProvider',
63 + ),
64 + ),
65 + 'nesbot/carbon' =>
66 + array (
67 + 'providers' =>
68 + array (
69 + 0 => 'Carbon\\Laravel\\ServiceProvider',
70 + ),
71 + ),
72 + 'nunomaduro/collision' =>
73 + array (
74 + 'providers' =>
75 + array (
76 + 0 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
77 + ),
78 + ),
79 + 'yoeunes/notify' =>
80 + array (
81 + 'providers' =>
82 + array (
83 + 0 => 'Yoeunes\\Notify\\NotifyServiceProvider',
84 + ),
85 + 'aliases' =>
86 + array (
87 + 'Notify' => 'Yoeunes\\Notify\\Facades\\Notify',
88 + ),
89 + ),
90 + );
\ No newline at end of file
bootstrap/cache/services.php 0 → 100755
https://gitlab.com/guille.agudelo/transito-frontend/-/commit/41df2d69cd8bce4ac47c3e17270397cde4469fab 6/15
29/6/2020 Mejora turnos, parcial ui modo tv (41df2d69) · Commits · Guillermo Agudelo / transito-frontend · GitLab
composer.json
... ... @@ -17,7 +17,9 @@
17 17 "laravel-frontend-presets/argon": "^1.1",
18 18 "laravel/framework": "^7.0",
19 19 "laravel/tinker": "^2.0",
20 - "laravel/ui": "^2.0"
20 + "laravel/ui": "^2.0",
21 + "pusher/pusher-php-server": "~4.0",
22 + "yoeunes/notify": "^1.0"
21 23 },
22 24 "require-dev": {
23 25 "facade/ignition": "^2.0",
... ...
composer.lock
config/app.php
... ... @@ -171,7 +171,7 @@ return [
171 171 */
172 172 App\Providers\AppServiceProvider::class,
173 173 App\Providers\AuthServiceProvider::class,
174 - // App\Providers\BroadcastServiceProvider::class,
174 + App\Providers\BroadcastServiceProvider::class,
175 175 App\Providers\EventServiceProvider::class,
176 176 App\Providers\RouteServiceProvider::class,
177 177
... ...
config/notify.php 0 → 100644
1 + <?php
2 +
3 + return [
4 +
5 + 'default' => 'toastr',
6 +
7 + 'toastr' => [
8 +
9 + 'class' => \Yoeunes\Notify\Notifiers\Toastr::class,
10 +
11 + 'notify_js' => [
12 + 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js',
13 + 'https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.js',
14 + ],
15 +
16 + 'notify_css' => [
17 + 'https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.css',
18 + ],
19 +
20 + 'types' => [
21 + 'error',
22 + 'info',
23 + 'success',
24 + 'warning',
25 + ],
26 +
27 + 'options' => ['positionClass' => 'toast-position'],
28 + ],
29 +
30 + 'pnotify' => [
31 +
32 + 'class' => \Yoeunes\Notify\Notifiers\Pnotify::class,
33 +
34 + 'notify_js' => [
35 + 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js',
36 + 'https://cdnjs.cloudflare.com/ajax/libs/pnotify/3.2.1/pnotify.js',
37 + ],
38 +
39 + 'notify_css' => [
40 + 'https://cdnjs.cloudflare.com/ajax/libs/pnotify/3.2.1/pnotify.css',
41 + 'https://cdnjs.cloudflare.com/ajax/libs/pnotify/3.2.1/pnotify.brighttheme.css',
https://gitlab.com/guille.agudelo/transito-frontend/-/commit/41df2d69cd8bce4ac47c3e17270397cde4469fab 7/15
29/6/2020 Mejora turnos, parcial ui modo tv (41df2d69) · Commits · Guillermo Agudelo / transito-frontend · GitLab
42 + ],
43 +
44 + 'types' => [
45 + 'alert',
46 + 'error',
47 + 'info',
48 + 'notice',
49 + 'success',
50 + ],
51 +
52 + 'options' => [],
53 + ],
54 +
55 + 'sweetalert2' => [
56 +
57 + 'class' => \Yoeunes\Notify\Notifiers\SweetAlert2::class,
58 +
59 + 'notify_js' => [
60 + 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js',
61 + 'https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/7.28.1/sweetalert2.min.js',
62 + 'https://cdn.jsdelivr.net/npm/promise-polyfill/dist/polyfill.min.js',
63 + ],
64 +
65 + 'notify_css' => [
66 + 'https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/7.28.1/sweetalert2.min.css',
67 + ],
68 +
69 + 'types' => [
70 + 'error',
71 + 'info',
72 + 'question',
73 + 'success',
74 + 'warning',
75 + ],
76 +
77 + 'options' => [],
78 + ],
79 + ];
package-lock.json
https://gitlab.com/guille.agudelo/transito-frontend/-/commit/41df2d69cd8bce4ac47c3e17270397cde4469fab 8/15
29/6/2020 Mejora turnos, parcial ui modo tv (41df2d69) · Commits · Guillermo Agudelo / transito-frontend · GitLab
5085 5070 },
5086 - "jquery": {
5087 - "version": "3.5.1",
5088 - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
5089 - "integrity": "sha512-
XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==",
5090 - "dev": true
5091 - },
5092 5071 "js-tokens": {
5093 5072 "version": "4.0.0",
5094 5073 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
... ... @@ -5167,6 +5146,11 @@
5167 5146 "integrity": "sha512-
dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
5168 5147 "dev": true
5169 5148 },
5149 + "laravel-echo": {
5150 + "version": "1.8.0",
5151 + "resolved": "https://registry.npmjs.org/laravel-echo/-/laravel-echo-1.8.0.tgz",
5152 + "integrity": "sha512-
hEHmNKUgV3fR2Do/2PKxfO3OiLmbjX89tahGEi4urS8JEuy/yoRtFToOJXV9ChtOpRqxo7trrygPOvXLwvc/6A=="
5153 + },
5170 5154 "laravel-mix": {
5171 5155 "version": "5.0.4",
5172 5156 "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-5.0.4.tgz",
... ... @@ -6447,12 +6431,6 @@
6447 6431 "find-up": "^2.1.0"
6448 6432 }
6449 6433 },
6450 - "popper.js": {
6451 - "version": "1.16.1",
6452 - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
6453 - "integrity": "sha512-
Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==",
6454 - "dev": true
6455 - },
6456 6434 "portfinder": {
6457 6435 "version": "1.0.26",
6458 6436 "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz",
... ... @@ -7259,6 +7237,14 @@
7259 7237 "integrity": "sha512-
XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
7260 7238 "dev": true
7261 7239 },
7240 + "pusher-js": {
7241 + "version": "6.0.3",
7242 + "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-6.0.3.tgz",
7243 + "integrity": "sha512-
l0MHlrpG+D4R6jj+vjqnJNjawBqKCjQ4Y/YARNsWFbXGKNl77xX8pUpbv55Al+dFHGkc7wI2fDXw/BDLleF9Lg==",
7244 + "requires": {
7245 + "tweetnacl": "^1.0.3"
7246 + }
7247 + },
7262 7248 "q": {
7263 7249 "version": "1.5.1",
7264 7250 "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
... ... @@ -7690,9 +7676,9 @@
7690 7676 "dev": true
7691 7677 },
7692 7678 "sass": {
7693 - "version": "1.26.7",
7694 - "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.7.tgz",
7695 - "integrity": "sha512-
xgNazdkr6yvgHEfNaOjKtZzhDZmKYMCmoRKMPrTDo7YvjaITIzU2DDYsIUuN/atAg7/JOxPeCQHH7TtCo5Tq2g==",
7679 + "version": "1.26.8",
7680 + "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.8.tgz",
7681 + "integrity": "sha512-
yvtzyrKLGiXQu7H12ekXqsfoGT/aTKeMDyVzCB675k1HYuaj0py63i8Uf4SI9CHXj6apDhpfwbUr3gGOjdpu2Q==",
7696 7682 "dev": true,
7697 7683 "requires": {
7698 7684 "chokidar": ">=2.0.0 <4.0.0"
... ... @@ -8823,6 +8809,11 @@
8823 8809 "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
8824 8810 "dev": true
8825 8811 },
https://gitlab.com/guille.agudelo/transito-frontend/-/commit/41df2d69cd8bce4ac47c3e17270397cde4469fab 9/15
29/6/2020 Mejora turnos, parcial ui modo tv (41df2d69) · Commits · Guillermo Agudelo / transito-frontend · GitLab
8812 + "tweetnacl": {
8813 + "version": "1.0.3",
8814 + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
8815 + "integrity": "sha512-
6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw=="
8816 + },
8826 8817 "type-is": {
8827 8818 "version": "1.6.18",
8828 8819 "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
... ... @@ -9131,12 +9122,6 @@
9131 9122 "integrity": "sha512-
2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
9132 9123 "dev": true
9133 9124 },
9134 - "vue": {
9135 - "version": "2.6.11",
9136 - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz",
9137 - "integrity": "sha512-
VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==",
9138 - "dev": true
9139 - },
9140 9125 "vue-hot-reload-api": {
9141 9126 "version": "2.3.4",
9142 9127 "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
... ...
package.json
public/css/app.css
public/css/master.css
1 1 .navbar-brand-img {
2 2 max-height: 4rem !important;
3 3 }
4 +
5 + #toast-container>div {
6 + opacity: 1;
7 +}
8 +
9 + .toast-position {
10 + bottom: 30px;
11 + right: 30px;
12 +}
public/js/app.js
resources/js/app.js
9 9 // window.Vue = require('vue');
10 10
... ...
resources/js/bootstrap.js
resources/views/layouts/app.blade.php
resources/views/layouts/navbars/sidebar.blade.php
resources/views/pages/tv.blade.php 0 → 100644
https://gitlab.com/guille.agudelo/transito-frontend/-/commit/41df2d69cd8bce4ac47c3e17270397cde4469fab 12/15
29/6/2020 Mejora turnos, parcial ui modo tv (41df2d69) · Commits · Guillermo Agudelo / transito-frontend · GitLab
57 + }
58 + },
59 + watch: {
60 + callingTurns(newValue, oldValue) {
61 + if (oldValue.length == 1) {
62 + this.currentCallingTurn = newValue[newValue.length-1]
63 + }
64 + }
65 + },
66 + mounted() {
67 + Echo.channel('turns')
68 + .listen('TurnCalled', e => {
69 + this.change(e.data)
70 + })
71 + },
72 + methods: {
73 + change(data) {
74 + this.callingTurns.push(data)
75 + this.calledTurns.push(data)
76 + }
77 + }
78 +
79 + })
80 + </script>
81 + @endpush
resources/views/turns/index.blade.php
https://gitlab.com/guille.agudelo/transito-frontend/-/commit/41df2d69cd8bce4ac47c3e17270397cde4469fab 13/15
29/6/2020 Mejora turnos, parcial ui modo tv (41df2d69) · Commits · Guillermo Agudelo / transito-frontend · GitLab
88 - console.log('res',res)
89 107 if (res.data.status == 'success') {
90 108 this.status = 'idling'
91 109 this.startTimer()
... ... @@ -106,23 +124,6 @@
106 124 stopTimer() {
107 125 this.timer.stop()
108 126 },
109 - callNextTurn() {
110 - axios.get('api/turns/store')
111 - .then((res) => {
112 - if (res.data.status == 'failed') {
113 - return bootbox.alert('Hay un turno en llamada. Por favor, intente
cuando el turno haya sido respondido.')
114 - }
115 - this.client = res.data.data.client
116 - this.queue = res.data.data.queue
117 - this.turn = res.data.data.turn
118 - this.userClient = res.data.data.userClient
119 - this.status = 'waiting'
120 - })
121 - .catch((err) => {
122 - bootbox.alert('Ocurrió un error al comunicarse con el servidor.')
123 - console.log(err)
124 - })
125 - }
126 127 }
127 128 })
128 129 </script>
... ...
routes/channels.php
routes/web.php
https://gitlab.com/guille.agudelo/transito-frontend/-/commit/41df2d69cd8bce4ac47c3e17270397cde4469fab 14/15
29/6/2020 Mejora turnos, parcial ui modo tv (41df2d69) · Commits · Guillermo Agudelo / transito-frontend · GitLab
https://gitlab.com/guille.agudelo/transito-frontend/-/commit/41df2d69cd8bce4ac47c3e17270397cde4469fab 15/15