escolalms/consultation-access

Escola Headles LMS Consultation Access
6,873
Install
composer require escolalms/consultation-access
Latest Version:0.1.3
PHP:>=7.4
License:MIT
Last Updated:Aug 28, 2025
Links: GitHub  ·  Packagist
Maintainer: qunabu

Consultation Access

swagger codecov phpunit downloads downloads downloads Maintainability

What does it do

This package is used to create enquiries for free consultation access.
Users with appropriate permissions can accept the enquiry and send a meeting link or reject the enquiry by sending a response message.

Consultation management is in our other package which is here.

Installing

  • composer require escolalms/consultation-access
  • php artisan migrate
  • php artisan db:seed --class="EscolaLms\ConsultationAccess\Database\Seeders\ConsultationAccessPermissionSeeder"

Endpoints

The endpoints are defined in swagger

Tests

Run ./vendor/bin/phpunit to run tests. Test details codecov

Events

  • ConsultationAccessEnquiryAdminCreatedEvent - This event is dispatched when a user submits an enquiry for consultation. It includes the enquiry itself and the user who has authorization to approve it.
  • ConsultationAccessEnquiryAdminUpdatedEvent - This event is dispatched when an enquiry is updated. It includes the author of the enquiry and the enquiry itself. Includes reason for refusal
  • ConsultationAccessEnquiryApprovedEvent - This event is dispatched when an enquiry is approved.
  • ConsultationAccessEnquiryDisapprovedEvent - This event is dispatched when an enquiry is disapproved (includes reason for refusal).

Flow diagram

See the diagram below


sequenceDiagram
    participant Student
    participant LMS
    participant Admin

    Student->>LMS: Request consultation access
    LMS->>Admin: Notify
    Admin->>Admin: Review enquiry
    alt Enquiry approved
        Admin->>LMS: Approve request
        LMS -->> Student: Send notification of approval
    else Enquiry rejected
        Admin->>LMS: Reject enquiry
        LMS -->> Student: Send rejection notification
    end
    

If you don't send the meeting_url during the approval, an automatic space will be created in Pencil Spaces, and that link will be saved. You can find more information here.

Listeners

This package does not listen for any events.

Permissions

Permissions are defined in seeder.

Related Packages

mews/purifier

Laravel 5/6/7/8/9/10 HtmlPurifier Package

21,010,090 1,982
kyslik/column-sortable

Package for handling column sorting in Laravel 6.x

6,282,182 647
mews/captcha

Laravel 5/6/7/8/9/10/11/12 Captcha Package

6,095,827 2,586
ajthinking/archetype

Programmatically edit PHP and Laravel files.

4,372,487 272