Skip to content

Commit

Permalink
make calendar compatible with SeAT 3.0
Browse files Browse the repository at this point in the history
fix settings layout
add color picker on tags creation
  • Loading branch information
warlof committed Apr 30, 2018
1 parent fa28351 commit 39275f3
Show file tree
Hide file tree
Showing 20 changed files with 220 additions and 169 deletions.
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# eveseat-calendar
Calendar plugin for EVE SeAT 2.X
[![Latest Stable Version](https://img.shields.io/packagist/v/kassie/calendar.svg?style=flat-square)](https://packagist.org/packages/kassie/calendar)
[![Next Version](https://img.shields.io/packagist/vpre/kassie/calendar.svg?style=flat-square)](https://packagist.org/packages/kassie/calendar)
[![License](https://img.shields.io/badge/license-GPLv3-blue.svg?style=flat-square)](https://raw.githubusercontent.com/warlof/slackbot/master/LICENSE)

Calendar plugin for EVE SeAT 2.x and 3.x

# Features
* Create/Update/Cancel/Delete/Close & Tag operations
Expand Down
20 changes: 12 additions & 8 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,21 @@
}
},
"require": {
"eveseat/web": "^2.0.13",
"eveseat/eveapi": "^2.0",
"eveseat/notifications": "^2.0",
"eveseat/services": "^2.0",
"s9e/text-formatter": "*",
"eveseat/eseye": "0.*"
"eveseat/web": "^3.0",
"eveseat/eveapi": "^3.0",
"eveseat/notifications": "^3.0",
"eveseat/services": "^3.0",
"itsjavi/bootstrap-colorpicker": "^2.0",
"s9e/text-formatter": "^1.1"
},
"authors": [{
"name": "Kassie Yvo",
"email": "[email protected]"
}, {
"name": "Warlof Tutsimo",
"email": "[email protected]"
}],
"license": "GPL-2.0",
"minimum-stability": "stable"
"license": "GPL-3.0-or-later",
"minimum-stability": "alpha",
"prefer-stable": true
}
4 changes: 3 additions & 1 deletion src/CalendarServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,9 @@ private function addPublications()
__DIR__ . '/resources/assets/css' => public_path('web/css'),
__DIR__ . '/resources/assets/vendors/css' => public_path('web/css'),
__DIR__ . '/resources/assets/js' => public_path('web/js'),
__DIR__ . '/resources/assets/vendors/js' => public_path('web/js')
__DIR__ . '/resources/assets/vendors/js' => public_path('web/js'),
app_path() . '/../vendor/itsjavi/bootstrap-colorpicker/dist/js' => public_path('web/js'),
app_path() . '/../vendor/itsjavi/bootstrap-colorpicker/dist/css' => public_path('web/css'),
]);
}

Expand Down
2 changes: 1 addition & 1 deletion src/Config/calendar.config.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?php

return [
'version' => '1.5.2'
'version' => '3.0.0-beta1'
];
10 changes: 4 additions & 6 deletions src/Helpers/Helper.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@

namespace Seat\Kassie\Calendar\Helpers;

use Illuminate\Support\Facades\DB;
use Seat\Eveapi\Models\Account\ApiKeyInfoCharacters;

use Seat\Eveapi\Models\Character\CharacterInfo;
use Seat\Services\Models\UserSetting;

class Helper
{
Expand Down Expand Up @@ -61,14 +60,13 @@ public static function BuildSlackNotificationAttachment($op) {
}

public static function GetUserMainCharacter($user_id) {
$main = DB::table('user_settings')
->where('user_id', $user_id)
$main = UserSetting::where('user_id', $user_id)
->where('name', 'main_character_id')
->select('value')
->get();

if ($main->count() > 0 && $main->first()->value != '1')
return ApiKeyInfoCharacters::where('characterID', $main->first()->value)->first();
return CharacterInfo::where('character_id', $main->first()->value)->first();

return null;
}
Expand Down
56 changes: 26 additions & 30 deletions src/Http/Controllers/CorporationController.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,29 +18,29 @@ public function getPaps(int $corporation_id)
{
$today = carbon();

$weeklyRanking = Pap::join('character_character_sheets', 'character_id', 'CharacterID')
->where('corporationID', $corporation_id)
$weeklyRanking = Pap::join('character_infos', 'kassie_calendar_paps.character_id', 'character_infos.character_id')
->where('corporation_id', $corporation_id)
->where('week', $today->weekOfMonth)
->where('month', $today->month)
->where('year', $today->year)
->select('character_id', DB::raw('sum(value) as qty'))
->select('kassie_calendar_paps.character_id', DB::raw('sum(value) as qty'))
->groupBy('character_id')
->orderBy('qty', 'desc')
->get();

$monthlyRanking = Pap::join('character_character_sheets', 'character_id', 'CharacterID')
->where('corporationID', $corporation_id)
$monthlyRanking = Pap::join('character_infos', 'kassie_calendar_paps.character_id', 'character_infos.character_id')
->where('corporation_id', $corporation_id)
->where('month', $today->month)
->where('year', $today->year)
->select('character_id', DB::raw('sum(value) as qty'))
->select('kassie_calendar_paps.character_id', DB::raw('sum(value) as qty'))
->groupBy('character_id')
->orderBy('qty', 'desc')
->get();

$yearlyRanking = Pap::join('character_character_sheets', 'character_id', 'CharacterID')
->where('corporationID', $corporation_id)
$yearlyRanking = Pap::join('character_infos', 'kassie_calendar_paps.character_id', 'character_infos.character_id')
->where('corporation_id', $corporation_id)
->where('year', $today->year)
->select('character_id', DB::raw('sum(value) as qty'))
->select('kassie_calendar_paps.character_id', DB::raw('sum(value) as qty'))
->groupBy('character_id')
->orderBy('qty', 'desc')
->get();
Expand All @@ -62,8 +62,8 @@ public function getYearPapsStats(int $corporation_id)
if (!$grouped)
return response()->json(
Pap::where('year', intval($year))
->where('corporationID', $corporation_id)
->leftJoin('character_character_sheets', 'characterID', 'character_id')
->where('corporation_id', $corporation_id)
->leftJoin('character_infos', 'character_id', 'character_id')
->select('character_id', 'name', DB::raw('sum(value) as qty'))
->groupBy('character_id', 'name')
->orderBy('qty', 'desc')
Expand All @@ -72,15 +72,13 @@ public function getYearPapsStats(int $corporation_id)

return response()->json(
Pap::where('year', intval($year))
->where('aakic2.corporationID', $corporation_id)
->select('main_character_id as character_id', 'main_character_name as name', DB::raw('sum(value) as qty'))
->join('account_api_key_info_characters as aakic', 'character_id', 'aakic.characterID')
->join('person_members as pm', 'aakic.keyID', 'pm.key_id')
->join('people as p', 'pm.person_id', 'p.id')
->join('account_api_key_info_characters as aakic2', 'main_character_id', 'aakic2.characterID')
->groupBy('main_character_id', 'main_character_name')
->where('corporation_id', $corporation_id)
->select('ci.character_id', 'name', DB::raw('sum(value) as qty'))
->join('character_infos as ci', 'ci.character_id', 'kassie_calendar_paps.character_id')
->join('group_user as gu', 'ci.character_id', 'gu.user_id')
->groupBy('group_id')
->orderBy('qty', 'desc')
->orderBy('main_character_name', 'asc')
->orderBy('name', 'asc')
->get());
}

Expand All @@ -101,22 +99,20 @@ public function getMonthlyStackedPapsStats(int $corporation_id)

$paps = Pap::where('year', intval($year))
->where('month', intval($month))
->join('account_api_key_info_characters as aakic', 'character_id', 'aakic.characterID')
->join('character_infos as ci', 'kassie_calendar_paps.character_id', 'ci.character_id')
->join('calendar_operations as co', 'co.id', 'operation_id')
->join('calendar_tag_operation as cto', 'cto.operation_id', 'co.id')
->join('calendar_tags as ct', 'ct.id', 'cto.tag_id');

if ($grouped)
$paps = $paps->where( 'aakic2.corporationID', $corporation_id )
->join( 'person_members as pm', 'aakic.keyID', 'pm.key_id' )
->join( 'people as p', 'pm.person_id', 'p.id' )
->join( 'account_api_key_info_characters as aakic2', 'main_character_id', 'aakic2.characterID' )
->select( 'main_character_id as character_id', 'main_character_name as name', 'cto.operation_id', 'analytics', 'value' )
->groupBy( 'main_character_id', 'main_character_name', 'cto.operation_id', 'analytics', 'value' );
$paps = $paps->where('corporation_id', $corporation_id )
->join('group_user as gu', 'gu.user_id', 'ci.character_id' )
->select('ci.character_id', 'ci.name', 'cto.operation_id', 'analytics', 'value' )
->groupBy('group_id', 'cto.operation_id', 'analytics', 'value' );
else
$paps = $paps->where('corporationID', $corporation_id)
->select('character_id', 'characterName as name', 'cto.operation_id', 'analytics', 'value')
->groupBy('character_id', 'characterName', 'cto.operation_id', 'analytics', 'value');
$paps = $paps->where('corporation_id', $corporation_id)
->select('ci.character_id', 'ci.name', 'cto.operation_id', 'analytics', 'value')
->groupBy('ci.character_id', 'cto.operation_id', 'analytics', 'value');

return response()->json(
DB::table(DB::raw("({$paps->toSql()}) as paps"))
Expand All @@ -128,4 +124,4 @@ public function getMonthlyStackedPapsStats(int $corporation_id)
->distinct()
->get());
}
}
}
15 changes: 9 additions & 6 deletions src/Http/Controllers/LookupController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Seat\Eveapi\Models\Character\CharacterInfo;
use Yajra\Datatables\Facades\Datatables;
use Seat\Eveapi\Models\Account\ApiKeyInfoCharacters;
use Seat\Web\Http\Controllers\Controller;
use Seat\Kassie\Calendar\Models\Attendee;

Expand All @@ -15,14 +15,17 @@ class LookupController extends Controller

public function lookupCharacters(Request $request)
{
$characters = ApiKeyInfoCharacters::where('characterName', 'LIKE', '%' . $request->input('query') . '%')->take(5)->get()->unique('characterID');
$characters = CharacterInfo::where('name', 'LIKE', '%' . $request->input('query') . '%')
->take(5)
->get()
->unique('character_id');

$results = array();

foreach ($characters as $character) {
array_push($results, array(
"value" => $character->characterName,
"data" => $character->characterID
"value" => $character->name,
"data" => $character->character_id
));
}

Expand Down Expand Up @@ -52,7 +55,7 @@ public function lookupAttendees(Request $request)
{
$attendees = Attendee::where('operation_id', $request->input('id'))
->with(['character' => function ($query) {
$query->select('characterID', 'characterName', 'corporationID');
$query->select('character_id', 'name', 'corporation_id');
}])
->select('character_id', 'user_id', 'status', 'comment AS _comment', 'created_at', 'updated_at')
->get();
Expand All @@ -63,7 +66,7 @@ public function lookupAttendees(Request $request)
return view('calendar::operation.includes.cols.attendees.character', compact('row'))->render();
})
->addColumn('_character_name', function ($row) {
return $row->character->characterName;
return $row->character->name;
})
->addColumn('_status', function ($row) {
return view('calendar::operation.includes.cols.attendees.status', compact('row'))->render();
Expand Down
Loading

0 comments on commit 39275f3

Please sign in to comment.