Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion Professional Development/CHANGEDB.php
Original file line number Diff line number Diff line change
Expand Up @@ -143,4 +143,9 @@
$sql[$count][1] = "
ALTER TABLE `professionalDevelopmentPortfolio` CHANGE `title` `title` VARCHAR(255) NOT NULL;end
ALTER TABLE `professionalDevelopmentPortfolio` ADD `gibbonPersonIDCreated` INT(10) UNSIGNED ZEROFILL NULL;end
";
";

// v0.1.06
$count++;
$sql[$count][0] = "0.1.06";
$sql[$count][1] = "";
4 changes: 4 additions & 0 deletions Professional Development/CHANGELOG.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
CHANGELOG
=========

v0.1.06
-------
Added comprehensive file upload tracking system to monitor and manage all file uploads across the system

v0.1.05
-------
Added the feature for a staff to delete their own portfolio record.
Expand Down
2 changes: 1 addition & 1 deletion Professional Development/manifest.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
$entryURL = "pd_manage.php"; // The landing page for the unit, used in the main menu
$type = "Additional";
$category = 'Other';
$version = '0.1.05';
$version = '0.1.06';
$author = 'Gibbon Foundation';
$url = 'https://github.com/GibbonEdu/module-professionalDevelopment';

Expand Down
15 changes: 15 additions & 0 deletions Professional Development/pd_addExpenseRequestProcess.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
use Gibbon\Domain\System\NotificationGateway;
use Gibbon\Module\ProfessionalDevelopment\Domain\RequestCostGateway;
use Gibbon\Module\ProfessionalDevelopment\Domain\RequestPersonGateway;
use Gibbon\Contracts\Filesystem\FileHandler;

include '../../gibbon.php';

Expand Down Expand Up @@ -62,14 +63,19 @@
$status = 'Paid';

// Upload the receipt or ss of payment
$fileMetaData = null;
$fileUploader = new Gibbon\FileUploader($pdo, $session);
$file = (isset($_FILES['file']))? $_FILES['file'] : null;

// Upload the file, return the /uploads relative path
$attachment = $fileUploader->uploadFromPost($file, $title);

if (!empty($file) && empty($attachment)) {
$URL .= '&return=error5';
header("Location: {$URL}");
exit();
} elseif (!empty($attachment)) {
$fileMetaData = $fileUploader->getFileMetaData($attachment);
}

// Get Reimbursement data if paid by "Self"
Expand Down Expand Up @@ -115,6 +121,15 @@

$gibbonFinanceExpenseID = str_pad($connection2->lastInsertID(), 14, '0', STR_PAD_LEFT);

// Record file tracking
if (!empty($fileMetaData) && !empty($gibbonFinanceExpenseID)) {
$gibbonFileID = $container->get(FileHandler::class)->recordFileUpload($fileMetaData, 'gibbonFinanceExpense', $gibbonFinanceExpenseID, 'paymentReimbursementReceipt');

if (empty($gibbonFileID)) {
$partialFail = true;
}
}

$requestPersonGateway = $container->get(RequestPersonGateway::class);
if (!empty($professionalDevelopmentRequestID)) {
$updateResult = $requestPersonGateway->updateWhere(['professionalDevelopmentRequestID' => $professionalDevelopmentRequestID, 'gibbonPersonID' => $session->get('gibbonPersonID')], ['gibbonFinanceExpenseID' => $gibbonFinanceExpenseID]);
Expand Down
19 changes: 18 additions & 1 deletion Professional Development/pd_addProcess.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

use Gibbon\Data\Validator;
use Gibbon\Services\Format;
use Gibbon\Comms\NotificationEvent;
use Gibbon\Comms\NotificationSender;
Expand All @@ -31,6 +30,7 @@
use Gibbon\Module\ProfessionalDevelopment\Domain\RequestDaysGateway;
use Gibbon\Module\ProfessionalDevelopment\Domain\RequestPersonGateway;
use Gibbon\Module\ProfessionalDevelopment\Domain\RequestApproversGateway;
use Gibbon\Contracts\Filesystem\FileHandler;

require_once '../../gibbon.php';
require_once './moduleFunctions.php';
Expand Down Expand Up @@ -112,6 +112,7 @@
}

// Move attached file, if there is one
$fileMetaData = null;
if (!empty($_FILES['supportingEvidenceFile']['tmp_name'])) {
$fileUploader = new Gibbon\FileUploader($pdo, $session);

Expand All @@ -122,6 +123,8 @@

if (empty($requestData['supportingEvidence'])) {
$partialFail = true;
} else {
$fileMetaData = $fileUploader->getFileMetaData($requestData['supportingEvidence']);
}
} elseif (empty($_POST['supportingEvidence'])) {
$requestData['supportingEvidence'] = '';
Expand All @@ -148,6 +151,11 @@
if (!$requestsGateway->update($professionalDevelopmentRequestID, $requestData)) {
$professionalDevelopmentRequestID = null;
}

// Handle file deletion when user removes logo
if (empty($requestData['supportingEvidence']) && !empty($pdRequest['supportingEvidence'])) {
$deleted = $container->get(FileHandler::class)->deleteFile('professionalDevelopmentRequest', $professionalDevelopmentRequestID, 'supportingEvidence');
}
} else {
$professionalDevelopmentRequestID = $requestsGateway->insert($requestData);
}
Expand All @@ -160,6 +168,15 @@
exit;
}

// Record file tracking (only if file uploaded)
if (!empty($fileMetaData) && !empty($professionalDevelopmentRequestID)) {
$gibbonFileID = $container->get(FileHandler::class)->recordFileUpload($fileMetaData, 'professionalDevelopmentRequest', $professionalDevelopmentRequestID, 'supportingEvidence');

if (empty($gibbonFileID)) {
$partialFail = true;
}
}

// Add or edit Request Days
$dateIDs = [];
$dateTimeOrder = $_POST['dateTimeOrder'] ?? [];
Expand Down
2 changes: 1 addition & 1 deletion Professional Development/version.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

$moduleVersion = '0.1.05';
$moduleVersion = '0.1.06';
$coreVersion = '28.0.00';