Browse Source

remove hard-coded limits for descriptions

addresses issue https://github.com/nafiesl/free-pmo/issues/38
pull/42/head
Damilola Olowookere 7 years ago
parent
commit
9ae0df1daa
  1. 18
      app/Http/Requests/Jobs/CreateRequest.php
  2. 16
      app/Http/Requests/Projects/CreateRequest.php
  3. 21
      app/Http/Requests/Tasks/CreateRequest.php
  4. 3
      composer.json
  5. 1086
      composer.lock
  6. 32
      database/migrations/2019_06_10_143715_update_projects_table_remove_char_len_limit_of_description_col.php
  7. 32
      database/migrations/2019_06_10_144559_update_jobs_table_remove_char_len_limit_of_description_col.php
  8. 32
      database/migrations/2019_06_10_145351_update_tasks_table_remove_char_len_limit_of_description_col.php

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

@ -2,8 +2,8 @@
namespace App\Http\Requests\Jobs;
use App\Http\Requests\Request;
use App\Entities\Projects\Project;
use App\Http\Requests\Request;
class CreateRequest extends Request
{
@ -26,14 +26,24 @@ class CreateRequest extends Request
*/
public function rules()
{
return [
'name' => 'required|max:60',
$rules = [
'name' => "required|max:60",
'price' => 'required|numeric',
'worker_id' => 'required|numeric',
'type_id' => 'required|numeric',
'target_start_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;
}
}

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

@ -2,8 +2,8 @@
namespace App\Http\Requests\Projects;
use App\Http\Requests\Request;
use App\Entities\Projects\Project;
use App\Http\Requests\Request;
class CreateRequest extends Request
{
@ -24,15 +24,25 @@ class CreateRequest extends Request
*/
public function rules()
{
return [
$rules = [
'name' => 'required|max:50',
'proposal_date' => 'nullable|date|date_format:Y-m-d',
'proposal_value' => 'nullable|numeric',
'customer_id' => 'nullable|numeric',
'customer_name' => 'nullable|required_without:customer_id|max:60',
'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;
}
/**

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

@ -2,8 +2,8 @@
namespace App\Http\Requests\Tasks;
use App\Http\Requests\Request;
use App\Entities\Projects\Task;
use App\Http\Requests\Request;
class CreateRequest extends Request
{
@ -24,10 +24,21 @@ class CreateRequest extends Request
*/
public function rules()
{
return [
'name' => 'required|max:60',
'description' => 'nullable|max:255',
'progress' => 'required|numeric|max:100',
$rules = [
'name' => 'required|max:60',
'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;
}
}

3
composer.json

@ -7,8 +7,9 @@
"require": {
"php": "^7.1.3",
"backup-manager/laravel": "^1.2",
"laracasts/presenter": "^0.2.1",
"doctrine/dbal": "^2.9",
"fideloper/proxy": "^4.0",
"laracasts/presenter": "^0.2.1",
"laravel/framework": "5.7.*",
"luthfi/formfield": "^1.0",
"riskihajar/terbilang": "^1.2",

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

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\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
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\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
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\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
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();
});
}
}
Loading…
Cancel
Save