Table of Contents
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 fileD:\sync\websvr\xampp\girstask\app\Template\project\edit.phpDò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ả
[caption id="attachment_984" align="alignnone" width="737"]
Thêm chức năng lưu sửa private project 2 public project khi bạn ở quyền user
Sửa fileD:\sync\websvr\xampp\girstask\app\Controller\Project.phpDò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 fileD:\sync\websvr\xampp\girstask\app\Template\app\layout.phpDòng 4:
<?php if ($this->user->isAdmin()): ?>Thành
<?php if (1==1): ?>Kết quả [caption id="attachment_985" align="alignnone" width="633"]

Thêm chức năng lưu public project do người có quyền user tạo ra
Edit fileD:\sync\websvr\xampp\girstask\app\Controller\Project.phpDò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[caption id="attachment_979" align="alignnone" width="814"]

D:\sync\websvr\xampp\girstask\app\Core\Router.phpSửa dòng 45, thêm @ để không hiện Notice nữa.
if (@$path{0} === '/') { $path = substr($path, 1); }[caption id="attachment_980" align="alignnone" width="804"]

Sửa lỗi tiếng Việt
Edit fileD:\sync\websvr\xampp\girstask\app\Locale\vi_VITranslate! Vậy là xong! -soiqualang_chentreu-]]>