Browse Source

Effected requested changes for PR#43

pull/43/head
Damilola Olowookere 7 years ago
parent
commit
34291f1b89
  1. 2
      .env.example
  2. 2
      app/Entities/Projects/Job.php
  3. 2
      app/Http/Controllers/Auth/LoginController.php
  4. 8
      app/Http/Controllers/JobsController.php
  5. 6
      app/Http/Controllers/Projects/FilesController.php
  6. 6
      app/Http/Requests/Jobs/CreateRequest.php
  7. 6
      app/Http/Requests/Jobs/UpdateRequest.php
  8. 6
      app/Http/Requests/Projects/CreateRequest.php
  9. 6
      app/Http/Requests/Projects/UpdateRequest.php
  10. 6
      app/Http/Requests/Tasks/CreateRequest.php
  11. 6
      app/Http/Requests/Tasks/UpdateRequest.php
  12. 6
      app/Services/Option.php
  13. 2
      composer.json
  14. 518
      composer.lock
  15. 2
      config/app.php
  16. 0
      public/.htaccess
  17. 0
      public/assets/.gitignore
  18. 0
      public/assets/css/.gitignore
  19. 0
      public/assets/css/app.css
  20. 0
      public/assets/css/bootstrap-theme.min.css
  21. 0
      public/assets/css/bootstrap.min.css
  22. 0
      public/assets/css/font-awesome.min.css
  23. 0
      public/assets/css/plugins/dataTables.bootstrap.css
  24. 0
      public/assets/css/plugins/fullcalendar.min.css
  25. 0
      public/assets/css/plugins/fullcalendar.print.css
  26. 0
      public/assets/css/plugins/jquery-ui.min.css
  27. 0
      public/assets/css/plugins/jquery.datetimepicker.css
  28. 0
      public/assets/css/plugins/metisMenu/metisMenu.css
  29. 0
      public/assets/css/plugins/metisMenu/metisMenu.min.css
  30. 0
      public/assets/css/plugins/morris.css
  31. 0
      public/assets/css/plugins/rangeslider.css
  32. 0
      public/assets/css/plugins/select2.min.css
  33. 0
      public/assets/css/plugins/social-buttons.css
  34. 0
      public/assets/css/plugins/timeline.css
  35. 0
      public/assets/css/sb-admin-2.css
  36. 0
      public/assets/fonts/FontAwesome.otf
  37. 0
      public/assets/fonts/fontawesome-webfont.eot
  38. 0
      public/assets/fonts/fontawesome-webfont.svg
  39. 0
      public/assets/fonts/fontawesome-webfont.ttf
  40. 0
      public/assets/fonts/fontawesome-webfont.woff
  41. 0
      public/assets/fonts/fontawesome-webfont.woff2
  42. 0
      public/assets/imgs/.gitignore
  43. 0
      public/assets/imgs/default-logo.png
  44. 0
      public/assets/imgs/icon_user_1.png
  45. 0
      public/assets/imgs/icon_user_2.png
  46. 0
      public/assets/js/.gitignore
  47. 0
      public/assets/js/app.js
  48. 0
      public/assets/js/bootstrap.min.js
  49. 0
      public/assets/js/jquery.js
  50. 0
      public/assets/js/plugins/autoNumeric.min.js
  51. 0
      public/assets/js/plugins/fullcalendar.min.js
  52. 0
      public/assets/js/plugins/gcal.js
  53. 0
      public/assets/js/plugins/jquery-ui.min.js
  54. 0
      public/assets/js/plugins/jquery.datetimepicker.js
  55. 0
      public/assets/js/plugins/metisMenu/metisMenu.js
  56. 0
      public/assets/js/plugins/metisMenu/metisMenu.min.js
  57. 0
      public/assets/js/plugins/moment.min.js
  58. 0
      public/assets/js/plugins/morris/morris-data.js
  59. 0
      public/assets/js/plugins/morris/morris.min.js
  60. 0
      public/assets/js/plugins/morris/raphael.min.js
  61. 0
      public/assets/js/plugins/noty.js
  62. 0
      public/assets/js/plugins/rangeslider.min.js
  63. 0
      public/assets/js/plugins/select2.min.js
  64. 0
      public/assets/js/plugins/sortable.min.js
  65. 0
      public/assets/js/plugins/vue-resource.min.js
  66. 0
      public/assets/js/plugins/vue.min.js
  67. 0
      public/assets/js/sb-admin-2.js
  68. 0
      public/favicon.ico
  69. 0
      public/index.php
  70. 0
      public/mix-manifest.json
  71. 0
      public/robots.txt
  72. 0
      public/screenshots/pmo-dashboard-01.jpg
  73. 0
      public/screenshots/pmo-install-free-pmo.jpg
  74. 0
      public/screenshots/pmo-job-tasks-01.jpg
  75. 0
      public/screenshots/pmo-project-detail-01.jpg
  76. 0
      public/screenshots/pmo-project-jobs-01.jpg
  77. 0
      public/screenshots/pmo-testing-01.jpg
  78. 0
      public/screenshots/pmo-yearly-report-01.jpg
  79. 0
      public/web.config
  80. 4
      resources/views/layouts/app.blade.php
  81. 2
      resources/views/layouts/partials/lang-switcher.blade.php
  82. 2
      routes/web.php
  83. 2
      routes/web/projects.php
  84. 11
      tests/Unit/Services/SiteOptionTest.php

2
.env.example

@ -8,6 +8,8 @@ APP_URL=http://localhost
LOG_CHANNEL=stack
APP_TIMEZONE=Asia/Makassar
DESCRIPTION_CHAR_LEN=0
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=homestead

2
app/Entities/Projects/Job.php

@ -2,8 +2,8 @@
namespace App\Entities\Projects;
use App\Entities\Users\User;
use DB;
use App\Entities\Users\User;
use Illuminate\Database\Eloquent\Model;
use Laracasts\Presenter\PresentableTrait;
use Spatie\MediaLibrary\HasMedia\HasMedia;

2
app/Http/Controllers/Auth/LoginController.php

@ -2,9 +2,9 @@
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
class LoginController extends Controller
{

8
app/Http/Controllers/JobsController.php

@ -2,13 +2,13 @@
namespace App\Http\Controllers;
use App\Entities\Projects\Comment;
use Illuminate\Http\Request;
use App\Entities\Projects\Job;
use App\Entities\Projects\JobsRepository;
use App\Entities\Projects\Comment;
use App\Entities\Projects\Project;
use App\Entities\Projects\JobsRepository;
use App\Http\Requests\Jobs\DeleteRequest;
use App\Http\Requests\Jobs\UpdateRequest;
use Illuminate\Http\Request;
/**
* Jobs Controller.
@ -92,12 +92,12 @@ class JobsController extends Controller
*/
public function edit(Job $job)
{
$files = $job->getMedia();
$this->authorize('view', $job);
$workers = $this->repo->getWorkersList();
return view('jobs.edit', compact('job', 'workers', 'files'));
}

6
app/Http/Controllers/Projects/FilesController.php

@ -2,10 +2,10 @@
namespace App\Http\Controllers\Projects;
use App\Entities\Projects\File;
use App\Http\Controllers\Controller;
use File as FileSystem;
use Illuminate\Http\Request;
use App\Entities\Projects\File;
use App\Http\Controllers\Controller;
/**
* Project Files Controller.
@ -131,11 +131,9 @@ class FilesController extends Controller
$files = $job->getMedia();
foreach ($files as $file) {
if ($file->id == $media_id) {
return \Response::file($file->getPath());
}
}
return back()->withErrors(['media not found']);

6
app/Http/Requests/Jobs/CreateRequest.php

@ -39,9 +39,9 @@ class CreateRequest extends Request
//achieved using environmental variable.
//A value of zero (0) will mean "no limit"
$char_len_job_description = intval(env('CHAR_LEN_JOB_DESCRIPTION', 255));
if ($char_len_job_description > 0) {
$rules['description'] = "max:$char_len_job_description";
$charLenJobDescription = intval(env('DESCRIPTION_CHAR_LEN', 255));
if ($charLenJobDescription > 0) {
$rules['description'] = "max:$charLenJobDescription";
}
return $rules;

6
app/Http/Requests/Jobs/UpdateRequest.php

@ -37,9 +37,9 @@ class UpdateRequest extends Request
//achieved using environmental variable.
//A value of zero (0) will mean "no limit"
$char_len_job_description = intval(env('CHAR_LEN_JOB_DESCRIPTION', 255));
if ($char_len_job_description > 0) {
$rules['description'] = "max:$char_len_job_description";
$charLenJobDescription = intval(env('DESCRIPTION_CHAR_LEN', 255));
if ($charLenJobDescription > 0) {
$rules['description'] = "max:$charLenJobDescription";
}
return $rules;

6
app/Http/Requests/Projects/CreateRequest.php

@ -37,9 +37,9 @@ class CreateRequest extends Request
//achieved using environmental variable.
//A value of zero (0) will mean "no limit"
$char_len_project_description = intval(env('CHAR_LEN_PROJECT_DESCRIPTION', 255));
if ($char_len_project_description > 0) {
$rules['description'] = "max:$char_len_project_description";
$charLenProjectDescription = intval(env('DESCRIPTION_CHAR_LEN', 255));
if ($charLenProjectDescription > 0) {
$rules['description'] = "max:$charLenProjectDescription";
}
return $rules;

6
app/Http/Requests/Projects/UpdateRequest.php

@ -42,9 +42,9 @@ class UpdateRequest extends Request
//achieved using environmental variable.
//A value of zero (0) will mean "no limit"
$char_len_project_description = intval(env('CHAR_LEN_PROJECT_DESCRIPTION', 255));
if ($char_len_project_description > 0) {
$rules['description'] = "max:$char_len_project_description";
$charLenProjectDescription = intval(env('DESCRIPTION_CHAR_LEN', 255));
if ($charLenProjectDescription > 0) {
$rules['description'] = "max:$charLenProjectDescription";
}
return $rules;

6
app/Http/Requests/Tasks/CreateRequest.php

@ -33,9 +33,9 @@ class CreateRequest extends Request
//achieved using environmental variable.
//A value of zero (0) will mean "no limit"
$char_len_task_description = intval(env('CHAR_LEN_TASK_DESCRIPTION', 255));
if ($char_len_task_description > 0) {
$rules['description'] = "max:$char_len_task_description";
$charLenTaskDescription = intval(env('DESCRIPTION_CHAR_LEN', 255));
if ($charLenTaskDescription > 0) {
$rules['description'] = "max:$charLenTaskDescription";
}
return $rules;

6
app/Http/Requests/Tasks/UpdateRequest.php

@ -35,9 +35,9 @@ class UpdateRequest extends Request
//achieved using environmental variable.
//A value of zero (0) will mean "no limit"
$char_len_task_description = intval(env('CHAR_LEN_TASK_DESCRIPTION', 255));
if ($char_len_task_description > 0) {
$rules['description'] = "max:$char_len_task_description";
$charLenTaskDescription = intval(env('DESCRIPTION_CHAR_LEN', 255));
if ($charLenTaskDescription > 0) {
$rules['description'] = "max:$charLenTaskDescription";
}
return $rules;

6
app/Services/Option.php

@ -49,8 +49,12 @@ class Option
*
* @return string The option value.
*/
public function set($key, string $value)
public function set($key, ?string $value)
{
if (is_null($value)) {
$value = '';
}
$option = $this->option->where('key', $key)->first();
if ($option) {

2
composer.json

@ -7,7 +7,6 @@
"require": {
"php": "^7.1.3",
"backup-manager/laravel": "^1.2",
"doctrine/dbal": "^2.9",
"fideloper/proxy": "^4.0",
"laracasts/presenter": "^0.2.1",
"laravel/framework": "5.7.*",
@ -19,6 +18,7 @@
"require-dev": {
"barryvdh/laravel-debugbar": "^3.1",
"doctrine/dbal": "^2.9",
"fzaninotto/faker": "^1.4",
"johnkary/phpunit-speedtrap": "^3.0",
"luthfi/simple-crud-generator": "1.2.*",

518
composer.lock

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"content-hash": "2c79006b0c9b9c41306539d5f580fb9f",
"content-hash": "eff47d81730132ae7bb2e5121935ea8c",
"packages": [
{
"name": "backup-manager/backup-manager",
@ -139,237 +139,6 @@
"time": "2018-06-18T09:20:25+00:00"
},
{
"name": "doctrine/cache",
"version": "v1.8.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/cache.git",
"reference": "d768d58baee9a4862ca783840eca1b9add7a7f57"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/cache/zipball/d768d58baee9a4862ca783840eca1b9add7a7f57",
"reference": "d768d58baee9a4862ca783840eca1b9add7a7f57",
"shasum": ""
},
"require": {
"php": "~7.1"
},
"conflict": {
"doctrine/common": ">2.2,<2.4"
},
"require-dev": {
"alcaeus/mongo-php-adapter": "^1.1",
"doctrine/coding-standard": "^4.0",
"mongodb/mongodb": "^1.1",
"phpunit/phpunit": "^7.0",
"predis/predis": "~1.0"
},
"suggest": {
"alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.8.x-dev"
}
},
"autoload": {
"psr-4": {
"Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "roman@code-factory.org"
},
{
"name": "Benjamin Eberlei",
"email": "kontakt@beberlei.de"
},
{
"name": "Guilherme Blanco",
"email": "guilhermeblanco@gmail.com"
},
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com"
},
{
"name": "Johannes Schmitt",
"email": "schmittjoh@gmail.com"
}
],
"description": "Caching library offering an object-oriented API for many cache backends",
"homepage": "https://www.doctrine-project.org",
"keywords": [
"cache",
"caching"
],
"time": "2018-08-21T18:01:43+00:00"
},
{
"name": "doctrine/dbal",
"version": "v2.9.2",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
"reference": "22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9",
"reference": "22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9",
"shasum": ""
},
"require": {
"doctrine/cache": "^1.0",
"doctrine/event-manager": "^1.0",
"ext-pdo": "*",
"php": "^7.1"
},
"require-dev": {
"doctrine/coding-standard": "^5.0",
"jetbrains/phpstorm-stubs": "^2018.1.2",
"phpstan/phpstan": "^0.10.1",
"phpunit/phpunit": "^7.4",
"symfony/console": "^2.0.5|^3.0|^4.0",
"symfony/phpunit-bridge": "^3.4.5|^4.0.5"
},
"suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files."
},
"bin": [
"bin/doctrine-dbal"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.9.x-dev",
"dev-develop": "3.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Doctrine\\DBAL\\": "lib/Doctrine/DBAL"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "roman@code-factory.org"
},
{
"name": "Benjamin Eberlei",
"email": "kontakt@beberlei.de"
},
{
"name": "Guilherme Blanco",
"email": "guilhermeblanco@gmail.com"
},
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com"
}
],
"description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.",
"homepage": "https://www.doctrine-project.org/projects/dbal.html",
"keywords": [
"abstraction",
"database",
"dbal",
"mysql",
"persistence",
"pgsql",
"php",
"queryobject"
],
"time": "2018-12-31T03:27:51+00:00"
},
{
"name": "doctrine/event-manager",
"version": "v1.0.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/event-manager.git",
"reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/event-manager/zipball/a520bc093a0170feeb6b14e9d83f3a14452e64b3",
"reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3",
"shasum": ""
},
"require": {
"php": "^7.1"
},
"conflict": {
"doctrine/common": "<2.9@dev"
},
"require-dev": {
"doctrine/coding-standard": "^4.0",
"phpunit/phpunit": "^7.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Doctrine\\Common\\": "lib/Doctrine/Common"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "roman@code-factory.org"
},
{
"name": "Benjamin Eberlei",
"email": "kontakt@beberlei.de"
},
{
"name": "Guilherme Blanco",
"email": "guilhermeblanco@gmail.com"
},
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com"
},
{
"name": "Johannes Schmitt",
"email": "schmittjoh@gmail.com"
},
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
}
],
"description": "Doctrine Event Manager component",
"homepage": "https://www.doctrine-project.org/projects/event-manager.html",
"keywords": [
"event",
"eventdispatcher",
"eventmanager"
],
"time": "2018-06-11T11:59:03+00:00"
},
{
"name": "doctrine/inflector",
"version": "v1.3.0",
"source": {
@ -825,33 +594,37 @@
},
{
"name": "guzzlehttp/psr7",
"version": "1.5.2",
"version": "1.6.1",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
"reference": "9f83dded91781a01c63574e387eaa769be769115"
"reference": "239400de7a173fe9901b9ac7c06497751f00727a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/9f83dded91781a01c63574e387eaa769be769115",
"reference": "9f83dded91781a01c63574e387eaa769be769115",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a",
"reference": "239400de7a173fe9901b9ac7c06497751f00727a",
"shasum": ""
},
"require": {
"php": ">=5.4.0",
"psr/http-message": "~1.0",
"ralouphie/getallheaders": "^2.0.5"
"ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
},
"provide": {
"psr/http-message-implementation": "1.0"
},
"require-dev": {
"ext-zlib": "*",
"phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8"
},
"suggest": {
"zendframework/zend-httphandlerrunner": "Emit PSR-7 responses"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.5-dev"
"dev-master": "1.6-dev"
}
},
"autoload": {
@ -888,7 +661,7 @@
"uri",
"url"
],
"time": "2018-12-04T20:46:45+00:00"
"time": "2019-07-01T23:21:34+00:00"
},
{
"name": "intervention/image",
@ -2454,24 +2227,24 @@
},
{
"name": "ralouphie/getallheaders",
"version": "2.0.5",
"version": "3.0.3",
"source": {
"type": "git",
"url": "https://github.com/ralouphie/getallheaders.git",
"reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa"
"reference": "120b605dfeb996808c31b6477290a714d356e822"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/5601c8a83fbba7ef674a7369456d12f1e0d0eafa",
"reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa",
"url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
"reference": "120b605dfeb996808c31b6477290a714d356e822",
"shasum": ""
},
"require": {
"php": ">=5.3"
"php": ">=5.6"
},
"require-dev": {
"phpunit/phpunit": "~3.7.0",
"satooshi/php-coveralls": ">=1.0"
"php-coveralls/php-coveralls": "^2.1",
"phpunit/phpunit": "^5 || ^6.5"
},
"type": "library",
"autoload": {
@ -2490,7 +2263,7 @@
}
],
"description": "A polyfill for getallheaders.",
"time": "2016-02-11T07:05:27+00:00"
"time": "2019-03-08T08:55:37+00:00"
},
{
"name": "ramsey/uuid",
@ -2854,16 +2627,16 @@
},
{
"name": "spatie/laravel-medialibrary",
"version": "7.6.0",
"version": "7.6.1",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-medialibrary.git",
"reference": "6ffb8a41e60f024abd35ff47e08628354d6efd0e"
"reference": "ba5437eb92c537530538d68cb29181233d257fa0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/6ffb8a41e60f024abd35ff47e08628354d6efd0e",
"reference": "6ffb8a41e60f024abd35ff47e08628354d6efd0e",
"url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/ba5437eb92c537530538d68cb29181233d257fa0",
"reference": "ba5437eb92c537530538d68cb29181233d257fa0",
"shasum": ""
},
"require": {
@ -2933,7 +2706,7 @@
"media",
"spatie"
],
"time": "2019-02-27T09:31:55+00:00"
"time": "2019-07-04T11:01:02+00:00"
},
{
"name": "spatie/pdf-to-image",
@ -4638,6 +4411,237 @@
"time": "2019-03-25T09:39:08+00:00"
},
{
"name": "doctrine/cache",
"version": "v1.8.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/cache.git",
"reference": "d768d58baee9a4862ca783840eca1b9add7a7f57"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/cache/zipball/d768d58baee9a4862ca783840eca1b9add7a7f57",
"reference": "d768d58baee9a4862ca783840eca1b9add7a7f57",
"shasum": ""
},
"require": {
"php": "~7.1"
},
"conflict": {
"doctrine/common": ">2.2,<2.4"
},
"require-dev": {
"alcaeus/mongo-php-adapter": "^1.1",
"doctrine/coding-standard": "^4.0",
"mongodb/mongodb": "^1.1",
"phpunit/phpunit": "^7.0",
"predis/predis": "~1.0"
},
"suggest": {
"alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.8.x-dev"
}
},
"autoload": {
"psr-4": {
"Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "roman@code-factory.org"
},
{
"name": "Benjamin Eberlei",
"email": "kontakt@beberlei.de"
},
{
"name": "Guilherme Blanco",
"email": "guilhermeblanco@gmail.com"
},
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com"
},
{
"name": "Johannes Schmitt",
"email": "schmittjoh@gmail.com"
}
],
"description": "Caching library offering an object-oriented API for many cache backends",
"homepage": "https://www.doctrine-project.org",
"keywords": [
"cache",
"caching"
],
"time": "2018-08-21T18:01:43+00:00"
},
{
"name": "doctrine/dbal",
"version": "v2.9.2",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
"reference": "22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9",
"reference": "22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9",
"shasum": ""
},
"require": {
"doctrine/cache": "^1.0",
"doctrine/event-manager": "^1.0",
"ext-pdo": "*",
"php": "^7.1"
},
"require-dev": {
"doctrine/coding-standard": "^5.0",
"jetbrains/phpstorm-stubs": "^2018.1.2",
"phpstan/phpstan": "^0.10.1",
"phpunit/phpunit": "^7.4",
"symfony/console": "^2.0.5|^3.0|^4.0",
"symfony/phpunit-bridge": "^3.4.5|^4.0.5"
},
"suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files."
},
"bin": [
"bin/doctrine-dbal"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.9.x-dev",
"dev-develop": "3.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Doctrine\\DBAL\\": "lib/Doctrine/DBAL"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "roman@code-factory.org"
},
{
"name": "Benjamin Eberlei",
"email": "kontakt@beberlei.de"
},
{
"name": "Guilherme Blanco",
"email": "guilhermeblanco@gmail.com"
},
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com"
}
],
"description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.",
"homepage": "https://www.doctrine-project.org/projects/dbal.html",
"keywords": [
"abstraction",
"database",
"dbal",
"mysql",
"persistence",
"pgsql",
"php",
"queryobject"
],
"time": "2018-12-31T03:27:51+00:00"
},
{
"name": "doctrine/event-manager",
"version": "v1.0.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/event-manager.git",
"reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/event-manager/zipball/a520bc093a0170feeb6b14e9d83f3a14452e64b3",
"reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3",
"shasum": ""
},
"require": {
"php": "^7.1"
},
"conflict": {
"doctrine/common": "<2.9@dev"
},
"require-dev": {
"doctrine/coding-standard": "^4.0",
"phpunit/phpunit": "^7.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Doctrine\\Common\\": "lib/Doctrine/Common"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "roman@code-factory.org"
},
{
"name": "Benjamin Eberlei",
"email": "kontakt@beberlei.de"
},
{
"name": "Guilherme Blanco",
"email": "guilhermeblanco@gmail.com"
},
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com"
},
{
"name": "Johannes Schmitt",
"email": "schmittjoh@gmail.com"
},
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
}
],
"description": "Doctrine Event Manager component",
"homepage": "https://www.doctrine-project.org/projects/event-manager.html",
"keywords": [
"event",
"eventdispatcher",
"eventmanager"
],
"time": "2018-06-11T11:59:03+00:00"
},
{
"name": "doctrine/instantiator",
"version": "1.2.0",
"source": {
@ -5651,16 +5655,16 @@
},
{
"name": "phpunit/php-token-stream",
"version": "3.0.1",
"version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
"reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18"
"reference": "c4a66b97f040e3e20b3aa2a243230a1c3a9f7c8c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/c99e3be9d3e85f60646f152f9002d46ed7770d18",
"reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18",
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/c4a66b97f040e3e20b3aa2a243230a1c3a9f7c8c",
"reference": "c4a66b97f040e3e20b3aa2a243230a1c3a9f7c8c",
"shasum": ""
},
"require": {
@ -5696,7 +5700,7 @@
"keywords": [
"tokenizer"
],
"time": "2018-10-30T05:52:18+00:00"
"time": "2019-07-08T05:24:54+00:00"
},
{
"name": "phpunit/phpunit",

2
config/app.php

@ -13,7 +13,7 @@ return [
|
*/
'name' => 'Anchis & Kolbins',
'name' => 'FREE PMO',
/*
|--------------------------------------------------------------------------

0
public/.htaccess

0
public/assets/.gitignore

0
public/assets/css/.gitignore

0
public/assets/css/app.css

0
public/assets/css/bootstrap-theme.min.css

0
public/assets/css/bootstrap.min.css

0
public/assets/css/font-awesome.min.css

0
public/assets/css/plugins/dataTables.bootstrap.css

0
public/assets/css/plugins/fullcalendar.min.css

0
public/assets/css/plugins/fullcalendar.print.css

0
public/assets/css/plugins/jquery-ui.min.css

0
public/assets/css/plugins/jquery.datetimepicker.css

0
public/assets/css/plugins/metisMenu/metisMenu.css

0
public/assets/css/plugins/metisMenu/metisMenu.min.css

0
public/assets/css/plugins/morris.css

0
public/assets/css/plugins/rangeslider.css

0
public/assets/css/plugins/select2.min.css

0
public/assets/css/plugins/social-buttons.css

0
public/assets/css/plugins/timeline.css

0
public/assets/css/sb-admin-2.css

0
public/assets/fonts/FontAwesome.otf

0
public/assets/fonts/fontawesome-webfont.eot

0
public/assets/fonts/fontawesome-webfont.svg

0
public/assets/fonts/fontawesome-webfont.ttf

0
public/assets/fonts/fontawesome-webfont.woff

0
public/assets/fonts/fontawesome-webfont.woff2

0
public/assets/imgs/.gitignore

0
public/assets/imgs/default-logo.png

Before

Width: 200  |  Height: 200  |  Size: 22 KiB

After

Width: 200  |  Height: 200  |  Size: 22 KiB

0
public/assets/imgs/icon_user_1.png

Before

Width: 280  |  Height: 280  |  Size: 10 KiB

After

Width: 280  |  Height: 280  |  Size: 10 KiB

0
public/assets/imgs/icon_user_2.png

Before

Width: 280  |  Height: 280  |  Size: 11 KiB

After

Width: 280  |  Height: 280  |  Size: 11 KiB

0
public/assets/js/.gitignore

0
public/assets/js/app.js

0
public/assets/js/bootstrap.min.js

0
public/assets/js/jquery.js

0
public/assets/js/plugins/autoNumeric.min.js

0
public/assets/js/plugins/fullcalendar.min.js

0
public/assets/js/plugins/gcal.js

0
public/assets/js/plugins/jquery-ui.min.js

0
public/assets/js/plugins/jquery.datetimepicker.js

0
public/assets/js/plugins/metisMenu/metisMenu.js

0
public/assets/js/plugins/metisMenu/metisMenu.min.js

0
public/assets/js/plugins/moment.min.js

0
public/assets/js/plugins/morris/morris-data.js

0
public/assets/js/plugins/morris/morris.min.js

0
public/assets/js/plugins/morris/raphael.min.js

0
public/assets/js/plugins/noty.js

0
public/assets/js/plugins/rangeslider.min.js

0
public/assets/js/plugins/select2.min.js

0
public/assets/js/plugins/sortable.min.js

0
public/assets/js/plugins/vue-resource.min.js

0
public/assets/js/plugins/vue.min.js

0
public/assets/js/sb-admin-2.js

0
public/favicon.ico

0
public/index.php

0
public/mix-manifest.json

0
public/robots.txt

0
public/screenshots/pmo-dashboard-01.jpg

Before

Width: 1000  |  Height: 478  |  Size: 61 KiB

After

Width: 1000  |  Height: 478  |  Size: 61 KiB

0
public/screenshots/pmo-install-free-pmo.jpg

Before

Width: 610  |  Height: 640  |  Size: 49 KiB

After

Width: 610  |  Height: 640  |  Size: 49 KiB

0
public/screenshots/pmo-job-tasks-01.jpg

Before

Width: 1000  |  Height: 578  |  Size: 81 KiB

After

Width: 1000  |  Height: 578  |  Size: 81 KiB

0
public/screenshots/pmo-project-detail-01.jpg

Before

Width: 1000  |  Height: 478  |  Size: 64 KiB

After

Width: 1000  |  Height: 478  |  Size: 64 KiB

0
public/screenshots/pmo-project-jobs-01.jpg

Before

Width: 1000  |  Height: 560  |  Size: 78 KiB

After

Width: 1000  |  Height: 560  |  Size: 78 KiB

0
public/screenshots/pmo-testing-01.jpg

Before

Width: 658  |  Height: 355  |  Size: 36 KiB

After

Width: 658  |  Height: 355  |  Size: 36 KiB

0
public/screenshots/pmo-yearly-report-01.jpg

Before

Width: 1000  |  Height: 819  |  Size: 97 KiB

After

Width: 1000  |  Height: 819  |  Size: 97 KiB

0
public/web.config

4
resources/views/layouts/app.blade.php

@ -1,5 +1,6 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="x-csrf-token" content="{{ csrf_token() }}">
@ -15,12 +16,12 @@
{!! Html::style('assets/css/sb-admin-2.min.css') !!}
<style>
.sidebar {
margin-top: 0px;
}
</style>
</head>
<body>
<div id="wrapper">
@ -69,4 +70,5 @@
@yield('script')
</body>
</html>

2
resources/views/layouts/partials/lang-switcher.blade.php

@ -1,5 +1,5 @@
<div class="text-center" style="border-bottom: 1px solid #e7e7e7; padding: 90px 10px 0px 0px">
{{-- {{ trans('lang.lang') }} : --}}
{{ trans('lang.lang') }} :
@foreach (['en', 'id', 'de'] as $langKey)
{{-- @break --}}

2
routes/web.php

@ -1,7 +1,5 @@
<?php
//upload table issues
require __DIR__.'/web/pages.php';
require __DIR__.'/web/users.php';
require __DIR__.'/web/references.php';

2
routes/web/projects.php

@ -74,7 +74,7 @@ Route::group(['middleware' => ['auth'], 'namespace' => 'Projects'], function ()
Route::patch('files/{file}', ['as' => 'files.update', 'uses' => 'FilesController@update']);
Route::delete('files/{file}', ['as' => 'files.destroy', 'uses' => 'FilesController@destroy']);
/**
/*
* Job file attachments
*/
Route::get('files/show/{job}/{media_id}', 'FilesController@showAttachment')->name('show-job-file');

11
tests/Unit/Services/SiteOptionTest.php

@ -22,6 +22,17 @@ class SiteOptionTest extends TestCase
}
/** @test */
public function option_value_null_must_be_converted_to_empty_string()
{
Option::set('testing_key', null);
$this->seeInDatabase('site_options', [
'key' => 'testing_key',
'value' => '',
]);
}
/** @test */
public function option_can_be_get()
{
\DB::table('site_options')->insert([

Loading…
Cancel
Save