Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ADVAPP-905]: Introduce the ability to manually manage students, enrollments, and programs #1075

Merged
merged 59 commits into from
Oct 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
9197ecd
Create list and create page
jayushi-canyon Oct 3, 2024
e5cae14
Complete student module
jayushi-canyon Oct 7, 2024
0479be8
Complete program module
jayushi-canyon Oct 9, 2024
ad96ede
Complete enrollment module
jayushi-canyon Oct 10, 2024
491e3d6
Create configuration page
jayushi-canyon Oct 10, 2024
7294ef8
Create cascade delete
jayushi-canyon Oct 13, 2024
3387987
Remove manageable models
jayushi-canyon Oct 14, 2024
466d0fd
Add icons
jayushi-canyon Oct 14, 2024
2b91e3f
Remove extra lines of code
jayushi-canyon Oct 15, 2024
1794547
add policies
jayushi-canyon Oct 15, 2024
ede37c6
shift student module files
jayushi-canyon Oct 17, 2024
8433608
shift program module files
jayushi-canyon Oct 17, 2024
4ec9ee5
shift enrollment module files
jayushi-canyon Oct 17, 2024
d55c060
Solve enrollment suggestions
jayushi-canyon Oct 17, 2024
d4bda06
Solve Program suggestions
jayushi-canyon Oct 17, 2024
20231b0
Make changes in migration files
jayushi-canyon Oct 18, 2024
61b7800
Create student segment relationship for student
jayushi-canyon Oct 18, 2024
e51c8c9
[ADVAPP-918]: Cleanup FeatureFlag: AddUrlToThemeSettingsFeature (#1054)
kandarp-canyon Oct 8, 2024
c992ba7
[ADVAPP-927]: Resolve the security issue tracked under CVE-2024-47823…
Orrison Oct 15, 2024
41b18a3
[ADVAPP-929]: Adjust composer.json configuration and optimizations fo…
Orrison Oct 17, 2024
c7c9396
Create list and create page
jayushi-canyon Oct 3, 2024
6fc3526
Create configuration page
jayushi-canyon Oct 10, 2024
f787fde
Add icons
jayushi-canyon Oct 14, 2024
0d04cc7
[ADVAPP-918]: Cleanup FeatureFlag: AddUrlToThemeSettingsFeature (#1054)
kandarp-canyon Oct 8, 2024
ce6921b
[ADVAPP-929]: Adjust composer.json configuration and optimizations fo…
Orrison Oct 17, 2024
506edfa
Create list and create page
jayushi-canyon Oct 3, 2024
60256fb
Create configuration page
jayushi-canyon Oct 10, 2024
b237fc3
Add icons
jayushi-canyon Oct 14, 2024
1fe1d4d
Delete unwanted files
jayushi-canyon Oct 18, 2024
9576821
Delete student record manager folder
jayushi-canyon Oct 18, 2024
6aee7af
Create again since i deleted in merge conflicts
jayushi-canyon Oct 18, 2024
17d26ad
disable view edit and delete of enrollment
jayushi-canyon Oct 18, 2024
0179206
Solve merge conflicts
jayushi-canyon Oct 18, 2024
9f1794d
chore: fix enforcement of copyright on all files
jayushi-canyon Oct 18, 2024
4f7bb6a
chore: fix code style
joelicatajr Oct 18, 2024
c5b00d8
Update the can access check
Orrison Oct 21, 2024
2907d07
Remove the save override
Orrison Oct 21, 2024
0030321
Update the enrollment policy
Orrison Oct 21, 2024
df7bc9f
Update the ProgramPolicy
Orrison Oct 21, 2024
979fd3b
Final fixes for Policies
Orrison Oct 21, 2024
b288a51
Delete old ManageStudentConfigurationSettings
Orrison Oct 21, 2024
fda9672
Delete dupliate migration
Orrison Oct 21, 2024
52db750
Add a primary key to enrollments and restore singular actions
Orrison Oct 21, 2024
a7d12a1
Remove custom resolving the item
Orrison Oct 21, 2024
6958d2e
Remove extra key parsing
Orrison Oct 21, 2024
b09af1b
Add an id on programs
Orrison Oct 21, 2024
e29e761
chore: fix enforcement of copyright on all files
Orrison Oct 21, 2024
4955a32
chore: fix code style
joelicatajr Oct 21, 2024
d78ebe0
Fix the view button auth checks
Orrison Oct 21, 2024
9c824f8
chore: fix code style
Orrison Oct 21, 2024
aa9a0ea
Fix rules and casting
Orrison Oct 21, 2024
779fc37
FInish the Student Importer
Orrison Oct 21, 2024
0a7907b
Add details to Student import
Orrison Oct 21, 2024
e201fb5
Finish Enrollment import
Orrison Oct 21, 2024
b649fb4
Finish the programs importer
Orrison Oct 21, 2024
70bf175
Revert bad conflict resolution
Orrison Oct 21, 2024
f534dc0
Fix permissions for Student Configuration manage page
Orrison Oct 21, 2024
9b17e00
Fix the canAny calls
Orrison Oct 21, 2024
1da0ffb
chore: fix code style
Orrison Oct 21, 2024
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
1 change: 0 additions & 1 deletion app-modules/alert/src/Models/Alert.php
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ class Alert extends BaseModel implements Auditable, CanTriggerAutoSubscription,
'severity',
'status',
'suggested_intervention',
'created_by',
];

protected $casts = [
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?php

/*
<COPYRIGHT>

Copyright © 2016-2024, Canyon GBS LLC. All rights reserved.

Advising App™ is licensed under the Elastic License 2.0. For more details,
see https://github.com/canyongbs/advisingapp/blob/main/LICENSE.

Notice:

- You may not provide the software to third parties as a hosted or managed
service, where the service provides users with access to any substantial set of
the features or functionality of the software.
- You may not move, change, disable, or circumvent the license key functionality
in the software, and you may not remove or obscure any functionality in the
software that is protected by the license key.
- You may not alter, remove, or obscure any licensing, copyright, or other notices
of the licensor in the software. Any use of the licensor’s trademarks is subject
to applicable law.
- Canyon GBS LLC respects the intellectual property rights of others and expects the
same in return. Canyon GBS™ and Advising App™ are registered trademarks of
Canyon GBS LLC, and we are committed to enforcing and protecting our trademarks
vigorously.
- The software solution, including services, infrastructure, and code, is offered as a
Software as a Service (SaaS) by Canyon GBS LLC.
- Use of this software implies agreement to the license terms and conditions as stated
in the Elastic License 2.0.

For more information or inquiries please visit our website at
https://www.canyongbs.com or contact us via email at legal@canyongbs.com.

</COPYRIGHT>
*/

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

return new class () extends Migration {
public function up(): void
{
Schema::table('engagement_files', function (Blueprint $table) {
$table->softDeletes();
});
}

public function down(): void
{
Schema::table('engagement_files', function (Blueprint $table) {
$table->dropSoftDeletes();
});
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<?php

/*
<COPYRIGHT>

Copyright © 2016-2024, Canyon GBS LLC. All rights reserved.

Advising App™ is licensed under the Elastic License 2.0. For more details,
see https://github.com/canyongbs/advisingapp/blob/main/LICENSE.

Notice:

- You may not provide the software to third parties as a hosted or managed
service, where the service provides users with access to any substantial set of
the features or functionality of the software.
- You may not move, change, disable, or circumvent the license key functionality
in the software, and you may not remove or obscure any functionality in the
software that is protected by the license key.
- You may not alter, remove, or obscure any licensing, copyright, or other notices
of the licensor in the software. Any use of the licensor’s trademarks is subject
to applicable law.
- Canyon GBS LLC respects the intellectual property rights of others and expects the
same in return. Canyon GBS™ and Advising App™ are registered trademarks of
Canyon GBS LLC, and we are committed to enforcing and protecting our trademarks
vigorously.
- The software solution, including services, infrastructure, and code, is offered as a
Software as a Service (SaaS) by Canyon GBS LLC.
- Use of this software implies agreement to the license terms and conditions as stated
in the Elastic License 2.0.

For more information or inquiries please visit our website at
https://www.canyongbs.com or contact us via email at legal@canyongbs.com.

</COPYRIGHT>
*/

use Illuminate\Support\Arr;
use Illuminate\Support\Facades\DB;
use Illuminate\Database\Migrations\Migration;
use Database\Migrations\Concerns\CanModifyPermissions;

return new class () extends Migration {
use CanModifyPermissions;

private array $permissions = [
'student_record_manager.view-any' => 'Student Record Manager',
'student_record_manager.create' => 'Student Record Manager',
'student_record_manager.*.view' => 'Student Record Manager',
'student_record_manager.*.update' => 'Student Record Manager',
'student_record_manager.*.delete' => 'Student Record Manager',
'student_record_manager.*.restore' => 'Student Record Manager',
'student_record_manager.*.force-delete' => 'Student Record Manager',
'student_record_manager.configuration' => 'Student Record Manager',
];

private array $guards = [
'web',
'api',
];

public function up(): void
{
collect($this->guards)
->each(function (string $guard) {
$permissions = Arr::except($this->permissions, keys: DB::table('permissions')
->where('guard_name', $guard)
->pluck('name')
->all());

$this->createPermissions($permissions, $guard);
});
}

public function down(): void
{
collect($this->guards)
->each(fn (string $guard) => $this->deletePermissions(array_keys($this->permissions), $guard));
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<?php

/*
<COPYRIGHT>

Copyright © 2016-2024, Canyon GBS LLC. All rights reserved.

Advising App™ is licensed under the Elastic License 2.0. For more details,
see https://github.com/canyongbs/advisingapp/blob/main/LICENSE.

Notice:

- You may not provide the software to third parties as a hosted or managed
service, where the service provides users with access to any substantial set of
the features or functionality of the software.
- You may not move, change, disable, or circumvent the license key functionality
in the software, and you may not remove or obscure any functionality in the
software that is protected by the license key.
- You may not alter, remove, or obscure any licensing, copyright, or other notices
of the licensor in the software. Any use of the licensor’s trademarks is subject
to applicable law.
- Canyon GBS LLC respects the intellectual property rights of others and expects the
same in return. Canyon GBS™ and Advising App™ are registered trademarks of
Canyon GBS LLC, and we are committed to enforcing and protecting our trademarks
vigorously.
- The software solution, including services, infrastructure, and code, is offered as a
Software as a Service (SaaS) by Canyon GBS LLC.
- Use of this software implies agreement to the license terms and conditions as stated
in the Elastic License 2.0.

For more information or inquiries please visit our website at
https://www.canyongbs.com or contact us via email at legal@canyongbs.com.

</COPYRIGHT>
*/

use Spatie\LaravelSettings\Migrations\SettingsMigration;

return new class () extends SettingsMigration {
public function up(): void
{
$this->migrator->add('manageable-student.is_enabled', false);
}

public function down(): void
{
$this->migrator->deleteIfExists('manageable-student.is_enabled');
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?php

/*
<COPYRIGHT>

Copyright © 2016-2024, Canyon GBS LLC. All rights reserved.

Advising App™ is licensed under the Elastic License 2.0. For more details,
see https://github.com/canyongbs/advisingapp/blob/main/LICENSE.

Notice:

- You may not provide the software to third parties as a hosted or managed
service, where the service provides users with access to any substantial set of
the features or functionality of the software.
- You may not move, change, disable, or circumvent the license key functionality
in the software, and you may not remove or obscure any functionality in the
software that is protected by the license key.
- You may not alter, remove, or obscure any licensing, copyright, or other notices
of the licensor in the software. Any use of the licensor’s trademarks is subject
to applicable law.
- Canyon GBS LLC respects the intellectual property rights of others and expects the
same in return. Canyon GBS™ and Advising App™ are registered trademarks of
Canyon GBS LLC, and we are committed to enforcing and protecting our trademarks
vigorously.
- The software solution, including services, infrastructure, and code, is offered as a
Software as a Service (SaaS) by Canyon GBS LLC.
- Use of this software implies agreement to the license terms and conditions as stated
in the Elastic License 2.0.

For more information or inquiries please visit our website at
https://www.canyongbs.com or contact us via email at legal@canyongbs.com.

</COPYRIGHT>
*/

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

return new class () extends Migration {
public function up(): void
{
Schema::table('students', function (Blueprint $table) {
$table->softDeletes();
});
}

public function down(): void
{
Schema::table('students', function (Blueprint $table) {
$table->dropSoftDeletes();
});
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?php

/*
<COPYRIGHT>

Copyright © 2016-2024, Canyon GBS LLC. All rights reserved.

Advising App™ is licensed under the Elastic License 2.0. For more details,
see https://github.com/canyongbs/advisingapp/blob/main/LICENSE.

Notice:

- You may not provide the software to third parties as a hosted or managed
service, where the service provides users with access to any substantial set of
the features or functionality of the software.
- You may not move, change, disable, or circumvent the license key functionality
in the software, and you may not remove or obscure any functionality in the
software that is protected by the license key.
- You may not alter, remove, or obscure any licensing, copyright, or other notices
of the licensor in the software. Any use of the licensor’s trademarks is subject
to applicable law.
- Canyon GBS LLC respects the intellectual property rights of others and expects the
same in return. Canyon GBS™ and Advising App™ are registered trademarks of
Canyon GBS LLC, and we are committed to enforcing and protecting our trademarks
vigorously.
- The software solution, including services, infrastructure, and code, is offered as a
Software as a Service (SaaS) by Canyon GBS LLC.
- Use of this software implies agreement to the license terms and conditions as stated
in the Elastic License 2.0.

For more information or inquiries please visit our website at
https://www.canyongbs.com or contact us via email at legal@canyongbs.com.

</COPYRIGHT>
*/

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

return new class () extends Migration {
public function up(): void
{
Schema::table('enrollments', function (Blueprint $table) {
$table->softDeletes();
});
}

public function down(): void
{
Schema::table('enrollments', function (Blueprint $table) {
$table->dropSoftDeletes();
});
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?php

/*
<COPYRIGHT>

Copyright © 2016-2024, Canyon GBS LLC. All rights reserved.

Advising App™ is licensed under the Elastic License 2.0. For more details,
see https://github.com/canyongbs/advisingapp/blob/main/LICENSE.

Notice:

- You may not provide the software to third parties as a hosted or managed
service, where the service provides users with access to any substantial set of
the features or functionality of the software.
- You may not move, change, disable, or circumvent the license key functionality
in the software, and you may not remove or obscure any functionality in the
software that is protected by the license key.
- You may not alter, remove, or obscure any licensing, copyright, or other notices
of the licensor in the software. Any use of the licensor’s trademarks is subject
to applicable law.
- Canyon GBS LLC respects the intellectual property rights of others and expects the
same in return. Canyon GBS™ and Advising App™ are registered trademarks of
Canyon GBS LLC, and we are committed to enforcing and protecting our trademarks
vigorously.
- The software solution, including services, infrastructure, and code, is offered as a
Software as a Service (SaaS) by Canyon GBS LLC.
- Use of this software implies agreement to the license terms and conditions as stated
in the Elastic License 2.0.

For more information or inquiries please visit our website at
https://www.canyongbs.com or contact us via email at legal@canyongbs.com.

</COPYRIGHT>
*/

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

return new class () extends Migration {
public function up(): void
{
Schema::table('programs', function (Blueprint $table) {
$table->softDeletes();
});
}

public function down(): void
{
Schema::table('programs', function (Blueprint $table) {
$table->dropSoftDeletes();
});
}
};
Loading