|
@@ -15,6 +15,7 @@ use App\Http\Resources\API\ProjectRequirementResource;
|
|
|
use App\Http\Resources\API\ProjectResource;
|
|
|
use App\Http\Resources\API\RequirementResource;
|
|
|
use App\Models\Asset;
|
|
|
+use App\Models\Enums\ObjectAction;
|
|
|
use App\Models\Enums\ProjectStatus;
|
|
|
use App\Models\Plan;
|
|
|
use App\Models\Project;
|
|
@@ -22,6 +23,7 @@ use App\Models\ProjectAsset;
|
|
|
use App\Models\ProjectPlan;
|
|
|
use App\Models\ProjectRequirement;
|
|
|
use App\Models\Requirement;
|
|
|
+use App\Repositories\ActionRepository;
|
|
|
use Illuminate\Http\Request;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
|
@@ -61,6 +63,8 @@ class ProjectController extends Controller
|
|
|
|
|
|
$project->save();
|
|
|
|
|
|
+ ActionRepository::createByProject($project, ObjectAction::CREATED);
|
|
|
+
|
|
|
if ($request->has("assets")) {
|
|
|
foreach ($request->get("assets", []) as $assetId) {
|
|
|
ProjectAsset::create([
|
|
@@ -106,6 +110,8 @@ class ProjectController extends Controller
|
|
|
|
|
|
$project->save();
|
|
|
|
|
|
+ ActionRepository::createByProject($project, ObjectAction::EDITED);
|
|
|
+
|
|
|
if ($request->has("assets")) {
|
|
|
ProjectAsset::where('project_id', $project->id)->delete();
|
|
|
|
|
@@ -140,39 +146,54 @@ class ProjectController extends Controller
|
|
|
|
|
|
$project->delete();
|
|
|
|
|
|
+ ActionRepository::createByProject($project, ObjectAction::DELETED);
|
|
|
+
|
|
|
return $this->noContent();
|
|
|
}
|
|
|
|
|
|
- public function closed(string $id)
|
|
|
+ public function closed(Request $request, string $id)
|
|
|
{
|
|
|
$project = Project::findOrFail($id);
|
|
|
|
|
|
$project->status = ProjectStatus::CLOSED->value;
|
|
|
$project->save();
|
|
|
|
|
|
+ ActionRepository::createByProject($project, ObjectAction::CLOSED, $request->get("comment"));
|
|
|
+
|
|
|
return $this->noContent();
|
|
|
}
|
|
|
|
|
|
- public function start(string $id)
|
|
|
+ public function start(Request $request, string $id)
|
|
|
{
|
|
|
$project = Project::findOrFail($id);
|
|
|
|
|
|
$project->status = ProjectStatus::DOING->value;
|
|
|
$project->save();
|
|
|
|
|
|
+ ActionRepository::createByProject($project, ObjectAction::STARTED, $request->get("comment"));
|
|
|
+
|
|
|
return $this->noContent();
|
|
|
}
|
|
|
|
|
|
- public function pause(string $id)
|
|
|
+ public function pause(Request $request, string $id)
|
|
|
{
|
|
|
$project = Project::findOrFail($id);
|
|
|
|
|
|
$project->status = ProjectStatus::PAUSE->value;
|
|
|
$project->save();
|
|
|
|
|
|
+ ActionRepository::createByProject($project, ObjectAction::PAUSED, $request->get("comment"));
|
|
|
+
|
|
|
return $this->noContent();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 延期
|
|
|
+ *
|
|
|
+ * @param PostponeRequest $request
|
|
|
+ * @param string $id
|
|
|
+ * @return \Illuminate\Http\Response
|
|
|
+ */
|
|
|
public function postpone(PostponeRequest $request, string $id)
|
|
|
{
|
|
|
$project = Project::findOrFail($id);
|
|
@@ -182,6 +203,8 @@ class ProjectController extends Controller
|
|
|
]));
|
|
|
$project->save();
|
|
|
|
|
|
+ ActionRepository::createByProject($project, ObjectAction::DELAY, $request->get("comment"));
|
|
|
+
|
|
|
return $this->noContent();
|
|
|
}
|
|
|
|