PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 2.6.1
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v2.6.1
4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / Permissions / Models / InvoicePermissionsController.php
surecart / app / src / Permissions / Models Last commit date
BalanceTransactionPermissionsController.php 3 years ago ChargePermissionsController.php 3 years ago CheckoutPermissionsController.php 3 years ago CustomerPermissionsController.php 2 years ago InvoicePermissionsController.php 3 years ago LicensePermissionsController.php 3 years ago MediaPermissionsController.php 3 years ago ModelPermissionsController.php 3 years ago OrderPermissionsController.php 3 years ago PaymentMethodPermissionsController.php 3 years ago PurchasePermissionsController.php 3 years ago RefundPermissionsController.php 3 years ago SubscriptionPermissionsController.php 3 years ago
InvoicePermissionsController.php
84 lines
1 <?php
2 namespace SureCart\Permissions\Models;
3
4 use SureCart\Models\Invoice;
5
6 /**
7 * Handle various charge permissions.
8 */
9 class InvoicePermissionsController extends ModelPermissionsController {
10 /**
11 * Can user edit charge.
12 *
13 * @param \SureCart\Models\User $user User model.
14 * @param array $args {
15 * Arguments that accompany the requested capability check.
16 *
17 * @type string $0 Requested capability.
18 * @type int $1 Concerned user ID.
19 * @type mixed ...$2 Optional second and further parameters, typically object ID.
20 * }
21 * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name
22 * and boolean values represent whether the user has that capability.
23 * @return boolean Does user have permission.
24 */
25 public function edit_sc_invoice( $user, $args, $allcaps ) {
26 if ( ! empty( $allcaps['edit_sc_invoices'] ) ) {
27 return true;
28 }
29 $invoice = Invoice::find( $args[2] );
30 if ( ! $invoice || is_wp_error( $invoice ) ) {
31 return false;
32 }
33 return in_array( $invoice->status, [ 'draft', 'finalized' ] );
34 }
35
36 /**
37 * Can user read.
38 *
39 * @param \SureCart\Models\User $user User model.
40 * @param array $args {
41 * Arguments that accompany the requested capability check.
42 *
43 * @type string $0 Requested capability.
44 * @type int $1 Concerned user ID.
45 * @type mixed ...$2 Optional second and further parameters, typically object ID.
46 * }
47 * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name
48 * and boolean values represent whether the user has that capability.
49 * @return boolean Does user have permission.
50 */
51 public function read_sc_invoice( $user, $args, $allcaps ) {
52 if ( ! empty( $allcaps['read_sc_invoices'] ) ) {
53 return true;
54 }
55 $invoice = Invoice::find( $args[2] );
56 if ( in_array( $invoice->status, [ 'draft', 'finalized' ] ) ) {
57 return true;
58 }
59 return $this->belongsToUser( Invoice::class, $args[2], $user );
60 }
61
62 /**
63 * Can user read.
64 *
65 * @param \SureCart\Models\User $user User model.
66 * @param array $args {
67 * Arguments that accompany the requested capability check.
68 *
69 * @type string $0 Requested capability.
70 * @type int $1 Concerned user ID.
71 * @type mixed ...$2 Optional second and further parameters, typically object ID.
72 * }
73 * @param bool[] $allcaps Array of key/value pairs where keys represent a capability name
74 * and boolean values represent whether the user has that capability.
75 * @return boolean Does user have permission.
76 */
77 public function read_sc_invoices( $user, $args, $allcaps ) {
78 if ( ! empty( $allcaps['read_sc_invoices'] ) ) {
79 return true;
80 }
81 return $this->isListingOwnCustomerIds( $user, $args[2]['customer_ids'] ?? [] );
82 }
83 }
84