Browse Source

Merge branch 'ui-ux-improvements' of git://github.com/damms005/free-pmo into damms005-ui-ux-improvements

pull/43/head
Nafies Luthfi 7 years ago
parent
commit
0acd40112b
  1. 1
      .gitignore
  2. 14
      app/Http/Requests/Jobs/CreateRequest.php
  3. 14
      app/Http/Requests/Jobs/UpdateRequest.php
  4. 14
      app/Http/Requests/Projects/CreateRequest.php
  5. 14
      app/Http/Requests/Projects/UpdateRequest.php
  6. 14
      app/Http/Requests/Tasks/CreateRequest.php
  7. 14
      app/Http/Requests/Tasks/UpdateRequest.php
  8. 5
      composer.json
  9. 1124
      composer.lock
  10. 2
      config/app.php
  11. 32
      database/migrations/2019_06_10_143715_update_projects_table_remove_char_len_limit_of_description_col.php
  12. 32
      database/migrations/2019_06_10_144559_update_jobs_table_remove_char_len_limit_of_description_col.php
  13. 32
      database/migrations/2019_06_10_145351_update_tasks_table_remove_char_len_limit_of_description_col.php
  14. 0
      public/.htaccess
  15. 0
      public/assets/.gitignore
  16. 0
      public/assets/css/.gitignore
  17. 1541
      public/assets/css/AdminLTE.min.css
  18. 0
      public/assets/css/app.css
  19. 2027
      public/assets/css/bootstrap-4.min.css
  20. 0
      public/assets/css/bootstrap-theme.min.css
  21. 1763
      public/assets/css/bootstrap-v3.3.6.min.css
  22. 2025
      public/assets/css/bootstrap-v3.4.0.min.css
  23. 0
      public/assets/css/bootstrap.min.css
  24. 0
      public/assets/css/font-awesome.min.css
  25. 0
      public/assets/css/plugins/dataTables.bootstrap.css
  26. 0
      public/assets/css/plugins/fullcalendar.min.css
  27. 0
      public/assets/css/plugins/fullcalendar.print.css
  28. 0
      public/assets/css/plugins/jquery-ui.min.css
  29. 0
      public/assets/css/plugins/jquery.datetimepicker.css
  30. 0
      public/assets/css/plugins/metisMenu/metisMenu.css
  31. 0
      public/assets/css/plugins/metisMenu/metisMenu.min.css
  32. 0
      public/assets/css/plugins/morris.css
  33. 0
      public/assets/css/plugins/rangeslider.css
  34. 0
      public/assets/css/plugins/select2.min.css
  35. 0
      public/assets/css/plugins/social-buttons.css
  36. 0
      public/assets/css/plugins/timeline.css
  37. 0
      public/assets/css/sb-admin-2.css
  38. 1078
      public/assets/css/sb-admin-2.min.css
  39. 0
      public/assets/fonts/FontAwesome.otf
  40. 0
      public/assets/fonts/fontawesome-webfont.eot
  41. 0
      public/assets/fonts/fontawesome-webfont.svg
  42. 0
      public/assets/fonts/fontawesome-webfont.ttf
  43. 0
      public/assets/fonts/fontawesome-webfont.woff
  44. 0
      public/assets/fonts/fontawesome-webfont.woff2
  45. 0
      public/assets/imgs/.gitignore
  46. 0
      public/assets/imgs/default-logo.png
  47. 0
      public/assets/imgs/icon_user_1.png
  48. 0
      public/assets/imgs/icon_user_2.png
  49. 0
      public/assets/js/.gitignore
  50. 0
      public/assets/js/app.js
  51. 0
      public/assets/js/bootstrap.min.js
  52. 0
      public/assets/js/jquery.js
  53. 0
      public/assets/js/plugins/autoNumeric.min.js
  54. 0
      public/assets/js/plugins/fullcalendar.min.js
  55. 0
      public/assets/js/plugins/gcal.js
  56. 0
      public/assets/js/plugins/jquery-ui.min.js
  57. 0
      public/assets/js/plugins/jquery.datetimepicker.js
  58. 0
      public/assets/js/plugins/metisMenu/metisMenu.js
  59. 0
      public/assets/js/plugins/metisMenu/metisMenu.min.js
  60. 0
      public/assets/js/plugins/moment.min.js
  61. 0
      public/assets/js/plugins/morris/morris-data.js
  62. 0
      public/assets/js/plugins/morris/morris.min.js
  63. 0
      public/assets/js/plugins/morris/raphael.min.js
  64. 0
      public/assets/js/plugins/noty.js
  65. 0
      public/assets/js/plugins/rangeslider.min.js
  66. 0
      public/assets/js/plugins/select2.min.js
  67. 0
      public/assets/js/plugins/sortable.min.js
  68. 0
      public/assets/js/plugins/vue-resource.min.js
  69. 0
      public/assets/js/plugins/vue.min.js
  70. 0
      public/assets/js/sb-admin-2.js
  71. 8
      public/assets/js/textcounter.min.js
  72. 0
      public/favicon.ico
  73. 0
      public/index.php
  74. 0
      public/mix-manifest.json
  75. 0
      public/robots.txt
  76. 0
      public/screenshots/pmo-dashboard-01.jpg
  77. 0
      public/screenshots/pmo-install-free-pmo.jpg
  78. 0
      public/screenshots/pmo-job-tasks-01.jpg
  79. 0
      public/screenshots/pmo-project-detail-01.jpg
  80. 0
      public/screenshots/pmo-project-jobs-01.jpg
  81. 0
      public/screenshots/pmo-testing-01.jpg
  82. 0
      public/screenshots/pmo-yearly-report-01.jpg
  83. 0
      public/web.config
  84. 2
      resources/views/jobs/edit.blade.php
  85. 2
      resources/views/jobs/partials/job-tasks.blade.php
  86. 17
      resources/views/layouts/app.blade.php
  87. 5
      resources/views/layouts/partials/lang-switcher.blade.php
  88. 4
      resources/views/projects/create.blade.php
  89. 2
      resources/views/projects/edit.blade.php
  90. 2
      resources/views/projects/jobs/create.blade.php
  91. 2
      routes/web.php

1
.gitignore

@ -6,3 +6,4 @@ Homestead.json
.env .env
/.idea/ /.idea/
.php_cs.cache .php_cs.cache
/.vscode

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

@ -26,14 +26,24 @@ class CreateRequest extends Request
*/ */
public function rules() public function rules()
{ {
return [
$rules = [
'name' => 'required|max:60', 'name' => 'required|max:60',
'price' => 'required|numeric', 'price' => 'required|numeric',
'worker_id' => 'required|numeric', 'worker_id' => 'required|numeric',
'type_id' => 'required|numeric', 'type_id' => 'required|numeric',
'target_start_date' => 'nullable|date|date_format:Y-m-d', 'target_start_date' => 'nullable|date|date_format:Y-m-d',
'target_end_date' => 'nullable|date|date_format:Y-m-d', 'target_end_date' => 'nullable|date|date_format:Y-m-d',
'description' => 'max:255',
]; ];
//Allow for flexibility instead of optionless hard-coded value for "description". This is
//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";
}
return $rules;
} }
} }

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

@ -26,12 +26,22 @@ class UpdateRequest extends Request
*/ */
public function rules() public function rules()
{ {
return [
$rules = [
'name' => 'required|max:60', 'name' => 'required|max:60',
'price' => 'required|numeric', 'price' => 'required|numeric',
'worker_id' => 'required|numeric', 'worker_id' => 'required|numeric',
'type_id' => 'required|numeric', 'type_id' => 'required|numeric',
'description' => 'max:255',
]; ];
//Allow for flexibility instead of optionless hard-coded value for "description". This is
//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";
}
return $rules;
} }
} }

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

@ -24,15 +24,25 @@ class CreateRequest extends Request
*/ */
public function rules() public function rules()
{ {
return [
$rules = [
'name' => 'required|max:50', 'name' => 'required|max:50',
'proposal_date' => 'nullable|date|date_format:Y-m-d', 'proposal_date' => 'nullable|date|date_format:Y-m-d',
'proposal_value' => 'nullable|numeric', 'proposal_value' => 'nullable|numeric',
'customer_id' => 'nullable|numeric', 'customer_id' => 'nullable|numeric',
'customer_name' => 'nullable|required_without:customer_id|max:60', 'customer_name' => 'nullable|required_without:customer_id|max:60',
'customer_email' => 'nullable|required_without:customer_id|email|unique:users,email', 'customer_email' => 'nullable|required_without:customer_id|email|unique:users,email',
'description' => 'nullable|max:255',
]; ];
//Allow for flexibility instead of optionless hard-coded value for "description". This is
//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";
}
return $rules;
} }
/** /**

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

@ -26,9 +26,8 @@ class UpdateRequest extends Request
*/ */
public function rules() public function rules()
{ {
return [
$rules = [
'name' => 'required|max:50', 'name' => 'required|max:50',
'description' => 'nullable|max:255',
'proposal_date' => 'nullable|date|date_format:Y-m-d', 'proposal_date' => 'nullable|date|date_format:Y-m-d',
'proposal_value' => 'nullable|numeric', 'proposal_value' => 'nullable|numeric',
'start_date' => 'nullable|date|date_format:Y-m-d', 'start_date' => 'nullable|date|date_format:Y-m-d',
@ -38,5 +37,16 @@ class UpdateRequest extends Request
'customer_id' => 'nullable|numeric', 'customer_id' => 'nullable|numeric',
'status_id' => 'required|numeric', 'status_id' => 'required|numeric',
]; ];
//Allow for flexibility instead of optionless hard-coded value for "description". This is
//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";
}
return $rules;
} }
} }

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

@ -24,10 +24,20 @@ class CreateRequest extends Request
*/ */
public function rules() public function rules()
{ {
return [
$rules = [
'name' => 'required|max:60', 'name' => 'required|max:60',
'description' => 'nullable|max:255',
'progress' => 'required|numeric|max:100', 'progress' => 'required|numeric|max:100',
]; ];
//Allow for flexibility instead of optionless hard-coded value for "description". This is
//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";
}
return $rules;
} }
} }

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

@ -25,11 +25,21 @@ class UpdateRequest extends Request
*/ */
public function rules() public function rules()
{ {
return [
$rules = [
'name' => 'required|max:60', 'name' => 'required|max:60',
'description' => 'nullable|max:255',
'progress' => 'required|numeric|max:100', 'progress' => 'required|numeric|max:100',
'job_id' => 'required|numeric|exists:jobs,id', 'job_id' => 'required|numeric|exists:jobs,id',
]; ];
//Allow for flexibility instead of optionless hard-coded value for "description". This is
//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";
}
return $rules;
} }
} }

5
composer.json

@ -7,12 +7,13 @@
"require": { "require": {
"php": "^7.1.3", "php": "^7.1.3",
"backup-manager/laravel": "^1.2", "backup-manager/laravel": "^1.2",
"laracasts/presenter": "^0.2.1",
"doctrine/dbal": "^2.9",
"fideloper/proxy": "^4.0", "fideloper/proxy": "^4.0",
"laracasts/presenter": "^0.2.1",
"laravel/framework": "5.7.*", "laravel/framework": "5.7.*",
"luthfi/formfield": "^1.0", "luthfi/formfield": "^1.0",
"riskihajar/terbilang": "^1.2", "riskihajar/terbilang": "^1.2",
"spatie/laravel-fractal": "^5.0"
"spatie/laravel-fractal": "<5.5"
}, },
"require-dev": { "require-dev": {

1124
composer.lock
File diff suppressed because it is too large
View File

2
config/app.php

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

32
database/migrations/2019_06_10_143715_update_projects_table_remove_char_len_limit_of_description_col.php

@ -0,0 +1,32 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class UpdateProjectsTableRemoveCharLenLimitOfDescriptionCol extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('projects', function (Blueprint $table) {
$table->text('description')->nullable()->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('projects', function (Blueprint $table) {
$table->string('description')->nullable()->change();
});
}
}

32
database/migrations/2019_06_10_144559_update_jobs_table_remove_char_len_limit_of_description_col.php

@ -0,0 +1,32 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class UpdateJobsTableRemoveCharLenLimitOfDescriptionCol extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('jobs', function (Blueprint $table) {
$table->text('description')->nullable()->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('jobs', function (Blueprint $table) {
$table->string('description')->nullable()->change();
});
}
}

32
database/migrations/2019_06_10_145351_update_tasks_table_remove_char_len_limit_of_description_col.php

@ -0,0 +1,32 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class UpdateTasksTableRemoveCharLenLimitOfDescriptionCol extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('tasks', function (Blueprint $table) {
$table->text('description')->nullable()->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('tasks', function (Blueprint $table) {
$table->string('description')->nullable()->change();
});
}
}

0
public/.htaccess

0
public/assets/.gitignore

0
public/assets/css/.gitignore

1541
public/assets/css/AdminLTE.min.css
File diff suppressed because it is too large
View File

0
public/assets/css/app.css

2027
public/assets/css/bootstrap-4.min.css
File diff suppressed because it is too large
View File

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

1763
public/assets/css/bootstrap-v3.3.6.min.css
File diff suppressed because it is too large
View File

2025
public/assets/css/bootstrap-v3.4.0.min.css
File diff suppressed because it is too large
View File

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

1078
public/assets/css/sb-admin-2.min.css
File diff suppressed because it is too large
View File

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

8
public/assets/js/textcounter.min.js
File diff suppressed because it is too large
View File

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

2
resources/views/jobs/edit.blade.php

@ -29,7 +29,7 @@
<div class="col-md-4">{!! FormField::text('actual_start_date', ['label' => __('job.actual_start_date'), 'class' => 'date-select']) !!}</div> <div class="col-md-4">{!! FormField::text('actual_start_date', ['label' => __('job.actual_start_date'), 'class' => 'date-select']) !!}</div>
<div class="col-md-4">{!! FormField::text('actual_end_date', ['label' => __('job.actual_end_date'), 'class' => 'date-select']) !!}</div> <div class="col-md-4">{!! FormField::text('actual_end_date', ['label' => __('job.actual_end_date'), 'class' => 'date-select']) !!}</div>
</div> </div>
{!! FormField::textarea('description', ['label' => __('job.description')]) !!}
{!! FormField::textarea('description', ['label' => __('job.description') , 'class' => 'countable']) !!}
</div> </div>
<div class="panel-footer"> <div class="panel-footer">

2
resources/views/jobs/partials/job-tasks.blade.php

@ -98,7 +98,7 @@
<strong id="ap_weight">0</strong>% <strong id="ap_weight">0</strong>%
</div> </div>
</div> </div>
{!! FormField::textarea('description', ['label' => __('task.description')]) !!}
{!! FormField::textarea('description', ['label' => __('task.description') , 'class' => 'countable']) !!}
{{ Form::submit(__('task.create'), ['class' => 'btn btn-primary']) }} {{ Form::submit(__('task.create'), ['class' => 'btn btn-primary']) }}
{{ Form::close() }} {{ Form::close() }}
</div> </div>

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

@ -11,6 +11,15 @@
@yield('ext_css') @yield('ext_css')
{!! Html::style('assets/css/app.css') !!} {!! Html::style('assets/css/app.css') !!}
{!! Html::style('assets/css/bootstrap-v3.4.0.min.css') !!}
{!! Html::style('assets/css/sb-admin-2.min.css') !!}
<style>
.sidebar {
margin-top: 0px;
}
</style>
</head> </head>
<body> <body>
<div id="wrapper"> <div id="wrapper">
@ -30,6 +39,7 @@
{!! Html::script(url('assets/js/jquery.js')) !!} {!! Html::script(url('assets/js/jquery.js')) !!}
{!! Html::script(url('assets/js/bootstrap.min.js')) !!} {!! Html::script(url('assets/js/bootstrap.min.js')) !!}
{!! Html::script(url('assets/js/textcounter.min.js')) !!}
@include('layouts.partials.noty') @include('layouts.partials.noty')
{!! Html::script(url('assets/js/plugins/metisMenu/metisMenu.min.js')) !!} {!! Html::script(url('assets/js/plugins/metisMenu/metisMenu.min.js')) !!}
@yield('ext_js') @yield('ext_js')
@ -47,6 +57,13 @@
} }
}); });
})(); })();
$(function(){
$('.countable').textcounter({
max: 1024, //just an arbitrary default
stopInputAtMaximum: false
});
});
</script> </script>
@yield('script') @yield('script')

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

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

4
resources/views/projects/create.blade.php

@ -15,7 +15,7 @@
<div class="panel-heading"><h3 class="panel-title">{{ trans('project.create') }}</h3></div> <div class="panel-heading"><h3 class="panel-title">{{ trans('project.create') }}</h3></div>
<div class="panel-body"> <div class="panel-body">
{!! FormField::text('name', ['label' => trans('project.name')]) !!} {!! FormField::text('name', ['label' => trans('project.name')]) !!}
{!! FormField::select('customer_id', $customers, ['placeholder' => 'Customer Baru']) !!}
{!! FormField::select('customer_id', $customers, ['placeholder' => 'New Customer']) !!}
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6">
{!! FormField::text('customer_name') !!} {!! FormField::text('customer_name') !!}
@ -32,7 +32,7 @@
{!! FormField::price('proposal_value', ['label' => trans('project.proposal_value'), 'currency' => Option::get('money_sign', 'Rp')]) !!} {!! FormField::price('proposal_value', ['label' => trans('project.proposal_value'), 'currency' => Option::get('money_sign', 'Rp')]) !!}
</div> </div>
</div> </div>
{!! FormField::textarea('description', ['label' => trans('project.description')]) !!}
{!! FormField::textarea('description', ['label' => trans('project.description') , 'class' => 'countable']) !!}
</div> </div>
<div class="panel-footer"> <div class="panel-footer">

2
resources/views/projects/edit.blade.php

@ -15,7 +15,7 @@
{!! FormField::text('name', ['label' => __('project.name')]) !!} {!! FormField::text('name', ['label' => __('project.name')]) !!}
<div class="row"> <div class="row">
<div class="col-md-8"> <div class="col-md-8">
{!! FormField::textarea('description', ['label' => __('project.description'),'rows' => 5]) !!}
{!! FormField::textarea('description', ['label' => __('project.description'),'rows' => 5 , 'class' => 'countable']) !!}
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
{!! FormField::price('proposal_value', ['label' => __('project.proposal_value'), 'currency' => Option::get('money_sign', 'Rp')]) !!} {!! FormField::price('proposal_value', ['label' => __('project.proposal_value'), 'currency' => Option::get('money_sign', 'Rp')]) !!}

2
resources/views/projects/jobs/create.blade.php

@ -37,7 +37,7 @@
<div class="col-md-4">{!! FormField::text('target_start_date', ['label' => __('job.target_start_date'), 'class' => 'date-select']) !!}</div> <div class="col-md-4">{!! FormField::text('target_start_date', ['label' => __('job.target_start_date'), 'class' => 'date-select']) !!}</div>
<div class="col-md-4">{!! FormField::text('target_end_date', ['label' => __('job.target_end_date'), 'class' => 'date-select']) !!}</div> <div class="col-md-4">{!! FormField::text('target_end_date', ['label' => __('job.target_end_date'), 'class' => 'date-select']) !!}</div>
</div> </div>
{!! FormField::textarea('description', ['label' => __('job.description')]) !!}
{!! FormField::textarea('description', ['label' => __('job.description') , 'class' => 'countable']) !!}
</div> </div>
<div class="panel-footer"> <div class="panel-footer">

2
routes/web.php

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

Loading…
Cancel
Save