-$invoice_options = array('1'=>$i18n->getKey('form.reports.include_invoiced'),
- '2'=>$i18n->getKey('form.reports.include_not_invoiced'));
-$form->addInput(array('type'=>'combobox',
- 'name'=>'invoice',
- 'style'=>'width: 250px;',
- 'data'=>$invoice_options,
- 'empty'=>array(''=>$i18n->getKey('dropdown.all'))));
+$showInvoiceDropdown = $user->isPluginEnabled('iv') && $user->can('manage_invoices');
+if ($showInvoiceDropdown) {
+ $invoice_options = array('1'=>$i18n->get('form.reports.include_invoiced'),
+ '2'=>$i18n->get('form.reports.include_not_invoiced'));
+ $form->addInput(array('type'=>'combobox',
+ 'name'=>'invoice',
+ 'style'=>'width: 250px;',
+ 'data'=>$invoice_options,
+ 'empty'=>array(''=>$i18n->get('dropdown.all'))));
+}
+$showInvoiceCheckbox = $user->isPluginEnabled('iv') && ($user->can('manage_invoices') || $user->isClient());
+
+// Add paid status selector.
+$showPaidStatus = $user->isPluginEnabled('ps') && $user->can('manage_invoices');
+if ($showPaidStatus) {
+ $form->addInput(array('type'=>'combobox',
+ 'name'=>'paid_status',
+ 'style'=>'width: 250px;',
+ 'data'=>array('1'=>$i18n->get('dropdown.paid'),'2'=>$i18n->get('dropdown.not_paid')),
+ 'empty'=>array(''=>$i18n->get('dropdown.all'))
+ ));
+}
+
+// Add approved / not approved selector.
+$showApproved = $user->isPluginEnabled('ap') &&
+ ($user->can('view_own_reports') || $user->can('view_reports') ||
+ $user->can('view_all_reports') || ($user->can('view_client_reports') && $user->can('view_client_unapproved')));
+if ($showApproved) {
+ $form->addInput(array('type'=>'combobox',
+ 'name'=>'approved',
+ 'style'=>'width: 250px;',
+ 'data'=>array('1'=>$i18n->get('dropdown.approved'),'2'=>$i18n->get('dropdown.not_approved')),
+ 'empty'=>array(''=>$i18n->get('dropdown.all'))
+ ));
+}