Initial commit
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
class AiPolicy extends BasePolicy
|
||||
{
|
||||
public function getSettings(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_settings');
|
||||
}
|
||||
|
||||
public function saveSettings(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_settings');
|
||||
}
|
||||
|
||||
public function testConnection(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_settings');
|
||||
}
|
||||
|
||||
public function generate(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_emails');
|
||||
}
|
||||
|
||||
public function generateEmailBody(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_emails');
|
||||
}
|
||||
|
||||
public function contactSummary(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_read_contacts');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\App\Services\PermissionManager;
|
||||
use FluentCrm\Framework\Foundation\Policy;
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
/**
|
||||
* BasePolicy - REST API Permission Policy
|
||||
*
|
||||
* @package FluentCrm\App\Http
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
class BasePolicy extends Policy
|
||||
{
|
||||
|
||||
/**
|
||||
* Check user permission for any method
|
||||
* @param Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function verifyRequest(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('manage_options');
|
||||
}
|
||||
|
||||
public function currentUserCan($permission)
|
||||
{
|
||||
return PermissionManager::currentUserCan($permission);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
/**
|
||||
* CampaignPolicy - REST API Permission Policy
|
||||
*
|
||||
* @package FluentCrm\App\Http
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
class CampaignPolicy extends BasePolicy
|
||||
{
|
||||
/**
|
||||
* Check user permission for any method
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function verifyRequest(Request $request)
|
||||
{
|
||||
if ($request->method() == 'GET') {
|
||||
return $this->currentUserCan('fcrm_read_emails');
|
||||
}
|
||||
|
||||
return $this->currentUserCan('fcrm_manage_emails');
|
||||
}
|
||||
|
||||
public function delete(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_email_delete');
|
||||
}
|
||||
|
||||
public function deleteCampaignEmails(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_email_delete');
|
||||
}
|
||||
|
||||
public function handleBulkAction(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_email_delete');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\App\Http\Policies\BasePolicy;
|
||||
use FluentCrm\App\Services\Helper;
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
class CompanyPolicy extends BasePolicy
|
||||
{
|
||||
private function isEnabled()
|
||||
{
|
||||
return Helper::isCompanyEnabled();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check user permission for any method
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function verifyRequest(Request $request)
|
||||
{
|
||||
return $this->isEnabled() && $this->currentUserCan('fcrm_manage_contact_cats');
|
||||
}
|
||||
|
||||
public function delete(Request $request)
|
||||
{
|
||||
return $this->isEnabled() && $this->currentUserCan('fcrm_manage_contact_cats_delete');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check user permission for bulk company actions.
|
||||
*
|
||||
* The delete bulk action permanently removes companies, so it must require
|
||||
* the stronger delete permission while other bulk updates keep the manage
|
||||
* permission used by the company module.
|
||||
*
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function handleBulkActions(Request $request)
|
||||
{
|
||||
$actionName = sanitize_text_field($request->get('action_name', ''));
|
||||
|
||||
if ($actionName == 'delete_companies') {
|
||||
return $this->delete($request);
|
||||
}
|
||||
|
||||
return $this->verifyRequest($request);
|
||||
}
|
||||
|
||||
public function detachSubscribers(Request $request)
|
||||
{
|
||||
return $this->verifyRequest($request);
|
||||
}
|
||||
|
||||
public function bulkDeleteNotes(Request $request)
|
||||
{
|
||||
return $this->verifyRequest($request);
|
||||
}
|
||||
|
||||
public function deleteSubscribes(Request $request)
|
||||
{
|
||||
return $this->detachSubscribers($request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
/**
|
||||
* CustomFieldsPolicy - REST API Permission Policy
|
||||
*
|
||||
* @package FluentCrm\App\Http
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
|
||||
class CustomFieldsPolicy extends BasePolicy
|
||||
{
|
||||
/**
|
||||
* Check user permission for any method
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function verifyRequest(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_settings');
|
||||
}
|
||||
|
||||
//TODO: masiur vai
|
||||
public function getLabels(Request $request)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
class EmailPatternPolicy extends BasePolicy
|
||||
{
|
||||
public function verifyRequest(Request $request)
|
||||
{
|
||||
if ($request->method() == 'GET') {
|
||||
return $this->currentUserCan('fcrm_read_emails');
|
||||
}
|
||||
|
||||
return $this->currentUserCan('fcrm_manage_emails');
|
||||
}
|
||||
|
||||
public function delete(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_email_delete');
|
||||
}
|
||||
|
||||
public function handleBulkAction(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_email_delete');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
|
||||
/**
|
||||
* FormsPolicy - REST API Permission Policy
|
||||
*
|
||||
* @package FluentCrm\App\Http
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
|
||||
class FormsPolicy extends BasePolicy
|
||||
{
|
||||
/**
|
||||
* Check user permission for any method
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function verifyRequest(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_forms');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
/**
|
||||
* FunnelPolicy - REST API Permission Policy
|
||||
*
|
||||
* @package FluentCrm\App\Http
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
class FunnelPolicy extends BasePolicy
|
||||
{
|
||||
/**
|
||||
* Check user permission for any method
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function verifyRequest(Request $request)
|
||||
{
|
||||
if ($request->method() == 'GET') {
|
||||
return $this->currentUserCan('fcrm_read_funnels');
|
||||
}
|
||||
|
||||
return $this->currentUserCan('fcrm_write_funnels');
|
||||
}
|
||||
|
||||
public function delete(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_delete_funnels');
|
||||
}
|
||||
|
||||
public function handleBulkAction(Request $request)
|
||||
{
|
||||
if ($request->get('action_name') == 'delete_funnels') {
|
||||
return $this->currentUserCan('fcrm_delete_funnels');
|
||||
}
|
||||
|
||||
return $this->currentUserCan('fcrm_write_funnels');
|
||||
}
|
||||
|
||||
public function removeBulkSubscribers(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_delete_funnels');
|
||||
}
|
||||
|
||||
public function deleteSubscribers(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_delete_funnels');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
/**
|
||||
* ImportUserPolicy - Import Contact Policy
|
||||
*
|
||||
* @package FluentCrm\App\Http
|
||||
*/
|
||||
class ImportUserPolicy extends BasePolicy {
|
||||
/**
|
||||
* Check user permission for any method
|
||||
*
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
*
|
||||
* @return Boolean
|
||||
*/
|
||||
public function verifyRequest( Request $request )
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_contacts');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
/**
|
||||
* ListPolicy - REST API Permission Policy
|
||||
*
|
||||
* @package FluentCrm\App\Http
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
|
||||
class ListPolicy extends BasePolicy
|
||||
{
|
||||
/**
|
||||
* Check user permission for any method
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function verifyRequest(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_contact_cats');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check user permission for delete lists
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function remove(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_contact_cats_delete');
|
||||
}
|
||||
|
||||
public function handleBulkAction(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_contact_cats_delete');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
/**
|
||||
* PublicPolicy - REST API Permission Policy
|
||||
*
|
||||
* @package FluentCrm\App\Http
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
|
||||
class PublicPolicy extends BasePolicy
|
||||
{
|
||||
/**
|
||||
* Check user permission for any method
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function verifyRequest(Request $request)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
/**
|
||||
* ReportPolicy - REST API Permission Policy
|
||||
*
|
||||
* @package FluentCrm\App\Http
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
|
||||
class ReportPolicy extends BasePolicy
|
||||
{
|
||||
/**
|
||||
* Check user permission for any method
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function verifyRequest(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_view_dashboard');
|
||||
}
|
||||
|
||||
public function getEmails(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_read_emails');
|
||||
}
|
||||
|
||||
public function deleteEmails(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_email_delete');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
class SettingsPolicy extends BasePolicy
|
||||
{
|
||||
public function verifyRequest(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_settings');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
/**
|
||||
* SubscriberPolicy - REST API Permission Policy
|
||||
*
|
||||
* @package FluentCrm\App\Http
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
class SubscriberPolicy extends BasePolicy
|
||||
{
|
||||
/**
|
||||
* Check user permission for any method
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function verifyRequest(Request $request)
|
||||
{
|
||||
if ($request->method() == 'GET') {
|
||||
return $this->currentUserCan('fcrm_read_contacts');
|
||||
}
|
||||
|
||||
return $this->currentUserCan('fcrm_manage_contacts');
|
||||
}
|
||||
|
||||
public function deleteSubscriber(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_contacts_delete');
|
||||
}
|
||||
|
||||
public function deleteSubscribers(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_contacts_delete');
|
||||
}
|
||||
|
||||
public function deleteNote(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_contacts_delete');
|
||||
}
|
||||
|
||||
public function bulkDeleteNotes(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_contacts_delete');
|
||||
}
|
||||
|
||||
public function deleteEmails(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_email_delete');
|
||||
}
|
||||
|
||||
public function handleBulkActions(Request $request)
|
||||
{
|
||||
$actionName = $request->get('action_name');
|
||||
|
||||
if (!$actionName) {
|
||||
return $this->currentUserCan('fcrm_manage_contacts');
|
||||
}
|
||||
|
||||
|
||||
$actionMaps = [
|
||||
'add_to_email_sequence' => 'fcrm_manage_emails',
|
||||
'add_to_automation' => 'fcrm_write_funnels',
|
||||
'delete_contacts' => 'fcrm_manage_contacts_delete'
|
||||
];
|
||||
|
||||
if (isset($actionMaps[$actionName])) {
|
||||
return $this->currentUserCan($actionMaps[$actionName]);
|
||||
}
|
||||
|
||||
return $this->currentUserCan('fcrm_manage_contacts');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
/**
|
||||
* TagPolicy - REST API Permission Policy
|
||||
*
|
||||
* @package FluentCrm\App\Http
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
class TagPolicy extends BasePolicy
|
||||
{
|
||||
|
||||
/**
|
||||
* Check user permission for any method
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function verifyRequest(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_contact_cats');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check user permission for delete tags
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function remove(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_contact_cats_delete');
|
||||
}
|
||||
|
||||
public function handleBulkAction(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_contact_cats_delete');
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
/**
|
||||
* TemplatePolicy - REST API Permission Policy
|
||||
*
|
||||
* @package FluentCrm\App\Http
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
|
||||
class TemplatePolicy extends BasePolicy
|
||||
{
|
||||
/**
|
||||
* Check user permission for any method
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function verifyRequest(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_email_templates');
|
||||
}
|
||||
|
||||
public function getBuiltInTemplate(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_email_templates');
|
||||
}
|
||||
|
||||
public function delete(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_email_delete');
|
||||
}
|
||||
|
||||
public function handleBulkAction(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_email_delete');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
/**
|
||||
* UsersPolicy - REST API Permission Policy
|
||||
*
|
||||
* @package FluentCrm\App\Http
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
|
||||
class UsersPolicy extends BasePolicy
|
||||
{
|
||||
/**
|
||||
* Check user permission for any method
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function verifyRequest(Request $request)
|
||||
{
|
||||
return current_user_can('list_users');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace FluentCrm\App\Http\Policies;
|
||||
|
||||
use FluentCrm\Framework\Http\Request\Request;
|
||||
|
||||
/**
|
||||
* WebhookPolicy - REST API Permission Policy
|
||||
*
|
||||
* @package FluentCrm\App\Http
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
|
||||
class WebhookPolicy extends BasePolicy
|
||||
{
|
||||
/**
|
||||
* Check user permission for any method
|
||||
* @param \FluentCrm\Framework\Http\Request\Request $request
|
||||
* @return Boolean
|
||||
*/
|
||||
public function verifyRequest(Request $request)
|
||||
{
|
||||
return $this->currentUserCan('fcrm_manage_settings');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user