[Note] Chỉnh sửa ứng dụng quản lý công việc GIRS Task

Chỉnh sửa ứng dụng quản lý công việc GIRS Task

Dạo này công việc ở cơ quan hơi nhiều dẫn đến phân việc chồng chéo lung tung, giao việc cũng không rõ ràng. Ngay cả mình được giao việc trong project mà bản thân cũng không biết @@!

Thế là nảy sinh nhu cầu sử dụng lại cái ứng dụng quản lý công việc mình.

Khi kiểm tra lại ứng dụng để gửi mail thông báo cho mọi người dùng thì mình phát hiện có chỗ không hợp lý mà hôm trước mình làm mình không để ý.

Đó là việc người không có quyền quản trị không thể tạo các “public project” được, chỉ có thể tạo được các “private project”. Việc này gây khó khăn khi quyền quản trị thì chỉ có một số người có quyền, còn lại là thành viên. Nhưng đối với các thành viên thì ngoài các dự án cá nhân của bản thân thì cũng có nhu cầu tạo các dự án chung của cơ quan khi được giao quản lý một dự án nào đó.

Và chỉ có các dự án chung thì mới có thể thêm các thành viên khác vào, phân việc,.. được.

Điều này gây bất hợp lý khi một thành viên được giao quản lý một dự án thì phải tạo một dự án cá nhân, sau đó nhờ quản trị chuyển cái dự án đó thành dự án chung. Lúc đó mới thêm các thành viên khác vào dự án đó được.

Vậy là mình quyết định sửa lại cái ứng dụng. Để tránh sau này cần sửa nhưng quên mất thì mình note lại thành cái post này :v

Bắt đầu thôi^^

Thêm Option chuyển dự án Private thành Public

Sửa giao diện

Sửa file

D:\sync\websvr\xampp\girstask\app\Template\project\edit.php

Dòng 16:

<?php if ($this->user->isAdmin()): ?>
<?= $this->form->checkbox(‘is_private’, t(‘Private project’), 1, $project[‘is_private’] == 1) ?>
<?php endif ?>

thành

<?php if (1==1): ?>
<?= $this->form->checkbox(‘is_private’, t(‘Private project’), 1, $project[‘is_private’] == 1) ?>
<?php endif ?>

Kết quả

Thêm Option chuyển dự án Private thành Public
Thêm Option chuyển dự án Private thành Public

Thêm chức năng lưu sửa private project 2 public project khi bạn ở quyền user

Sửa file

D:\sync\websvr\xampp\girstask\app\Controller\Project.php

Dòng 144:

if ($project[‘is_private’] == 1 && $this->userSession->isAdmin() && ! isset($values[‘is_private’])) {
$values += array(‘is_private’ => 0);
}

Thành

if ($project[‘is_private’] == 1 && ! isset($values[‘is_private’])) {
$values += array(‘is_private’ => 0);
}

Thêm chức năng tạo public project ở thanh top menu

Sửa giao diện

Edit file

D:\sync\websvr\xampp\girstask\app\Template\app\layout.php

Dòng 4:

<?php if ($this->user->isAdmin()): ?>

Thành

<?php if (1==1): ?>

Kết quả

Thêm chức năng tạo public project ở thanh top menu
Thêm chức năng tạo public project ở thanh top menu

Thêm chức năng lưu public project do người có quyền user tạo ra

Edit file

D:\sync\websvr\xampp\girstask\app\Controller\Project.php

Dòng 405:

$is_private = $this->request->getIntegerParam(‘private’, $this->userSession->isAdmin() ? 0 : 1);

Thành

$is_private = $this->request->getIntegerParam(‘private’, 0);

 

Fix lỗi linh tinh khác

Notice: Uninitialized string offset: 0 in D:\sync\websvr\xampp\girstask\app\Core\Router.php on line 45

Sửa lỗi Notice: Uninitialized string offset
Sửa lỗi Notice: Uninitialized string offset

Mở file Core/Router.php

D:\sync\websvr\xampp\girstask\app\Core\Router.php

Sửa dòng 45, thêm @ để không hiện Notice nữa.

if (@$path{0} === ‘/’) {
$path = substr($path, 1);
}

Sửa lỗi Notice: Uninitialized string offset
Sửa lỗi Notice: Uninitialized string offset

Sửa lỗi tiếng Việt

Edit file

D:\sync\websvr\xampp\girstask\app\Locale\vi_VI

Translate!

Vậy là xong!

-soiqualang_chentreu-