Skip to content

Commit

Permalink
Merge pull request #560 from invoiceninja/develop
Browse files Browse the repository at this point in the history
Sync develop with main
  • Loading branch information
beganovich authored Mar 21, 2023
2 parents 1f8b8c8 + b1fcfa3 commit 91aff71
Show file tree
Hide file tree
Showing 19 changed files with 49 additions and 5 deletions.
4 changes: 3 additions & 1 deletion src/common/hooks/permissions/useHasPermission.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ type PurchaseOrderPermissions =
| 'create_purchase_order'
| 'view_purchase_order'
| 'edit_purchase_order';
type ReportPermissions = 'view_reports';

export type Permissions =
| AllPermissions
Expand All @@ -53,7 +54,8 @@ export type Permissions =
| ExpensePermissions
| RecurringExpensePermissions
| BankTransactionsPermissions
| PurchaseOrderPermissions;
| PurchaseOrderPermissions
| ReportPermissions;

export function useHasPermission() {
const user = useCurrentCompanyUser();
Expand Down
2 changes: 1 addition & 1 deletion src/components/layouts/Default.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@ export function Default(props: Props) {
href: '/reports',
icon: PieChart,
current: location.pathname.startsWith('/reports'),
visible: companyUser?.is_admin || companyUser?.is_owner || false,
visible: hasPermission('view_reports'),
},
{
name: t('transactions'),
Expand Down
1 change: 1 addition & 0 deletions src/pages/clients/index/Clients.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ export function Clients() {
<DataTable
resource="client"
endpoint="/api/v1/clients?sort=id|desc"
bulkRoute="/api/v1/clients/bulk"
columns={columns}
linkToCreate="/clients/create"
linkToEdit="/clients/:id/edit"
Expand Down
1 change: 1 addition & 0 deletions src/pages/projects/index/Projects.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ export function Projects() {
<DataTable
resource="project"
endpoint="/api/v1/projects?sort=id|desc"
bulkRoute="/api/v1/projects/bulk"
columns={columns}
customActions={actions}
linkToCreate="/projects/create"
Expand Down
30 changes: 29 additions & 1 deletion src/pages/purchase-orders/create/Create.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@
import { InvoiceSum } from '$app/common/helpers/invoices/invoice-sum';
import { useReactSettings } from '$app/common/hooks/useReactSettings';
import { useTitle } from '$app/common/hooks/useTitle';
import { PurchaseOrder } from '$app/common/interfaces/purchase-order';
import {
Invitation,
PurchaseOrder,
} from '$app/common/interfaces/purchase-order';
import { ValidationBag } from '$app/common/interfaces/validation-bag';
import { Page } from '$app/components/Breadcrumbs';
import { Default } from '$app/components/layouts/Default';
Expand All @@ -37,13 +40,17 @@ import { useHandleDeleteLineItem } from '../edit/hooks/useHandleDeleteLineItem';
import { useHandleInvitationChange } from '../edit/hooks/useHandleInvitationChange';
import { useHandleLineItemPropertyChange } from '../edit/hooks/useHandleLineItemPropertyChange';
import { useHandleProductChange } from '../edit/hooks/useHandleProductChange';
import { blankInvitation } from '$app/common/constants/blank-invitation';
import { useVendorResolver } from '$app/common/hooks/vendors/useVendorResolver';

export function Create() {
const { documentTitle } = useTitle('new_purchase_order');
const { t } = useTranslation();

const reactSettings = useReactSettings();

const vendorResolver = useVendorResolver();

const [searchParams] = useSearchParams();

const pages: Page[] = [
Expand Down Expand Up @@ -126,6 +133,27 @@ export function Create() {

const onSave = useCreate({ setErrors });

useEffect(() => {
purchaseOrder &&
purchaseOrder.vendor_id &&
vendorResolver.find(purchaseOrder.vendor_id).then((vendor) => {
const invitations: Invitation[] = [];

vendor.contacts.map((contact) => {
if (contact.send_email) {
const invitation = cloneDeep(
blankInvitation
) as unknown as Invitation;

invitation.vendor_contact_id = contact.id;
invitations.push(invitation);
}
});

handleChange('invitations', invitations);
});
}, [purchaseOrder?.vendor_id]);

return (
<Default
title={documentTitle}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ export function TransactionRules() {
resource="transaction_rule"
columns={columns}
endpoint="/api/v1/bank_transaction_rules?include=vendor,expense_category&sort=id|desc"
bulkRoute="/api/v1/bank_transaction_rules/bulk"
linkToCreate="/settings/bank_accounts/transaction_rules/create"
linkToEdit="/settings/bank_accounts/transaction_rules/:id/edit"
withResourcefulActions
Expand Down
1 change: 1 addition & 0 deletions src/pages/settings/bank-accounts/index/BankAccounts.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ export function BankAccounts() {
resource="bank_account"
columns={columns}
endpoint="/api/v1/bank_integrations?sort=id|desc"
bulkRoute="/api/v1/bank_integrations/bulk"
linkToCreate="/settings/bank_accounts/create"
linkToEdit="/settings/bank_accounts/:id/edit"
withResourcefulActions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ export function ExpenseCategories() {
return (
<DataTable
endpoint="/api/v1/expense_categories?sort=id|desc"
bulkRoute="/api/v1/expense_categories/bulk"
resource="expense_category"
columns={columns}
linkToCreate="/settings/expense_categories/create"
Expand Down
1 change: 1 addition & 0 deletions src/pages/settings/gateways/index/Gateways.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ export function Gateways() {
columns={columns}
resource="company_gateway"
endpoint="/api/v1/company_gateways?sort=id|desc"
bulkRoute="/api/v1/company_gateways/bulk"
linkToCreate="/settings/gateways/create"
linkToEdit="/settings/gateways/:id/edit"
withResourcefulActions
Expand Down
1 change: 1 addition & 0 deletions src/pages/settings/integrations/api-tokens/ApiTokens.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ export function ApiTokens() {
resource="token"
columns={columns}
endpoint="/api/v1/tokens?sort=id|desc"
bulkRoute="/api/v1/tokens/bulk"
linkToCreate="/settings/integrations/api_tokens/create"
linkToEdit="/settings/integrations/api_tokens/:id/edit"
withResourcefulActions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ export function ApiWebhooks() {
resource="webhook"
columns={columns}
endpoint="/api/v1/webhooks?sort=id|desc"
bulkRoute="/api/v1/webhooks/bulk"
linkToCreate="/settings/integrations/api_webhooks/create"
linkToEdit="/settings/integrations/api_webhooks/:id/edit"
withResourcefulActions
Expand Down
1 change: 1 addition & 0 deletions src/pages/settings/schedules/index/Schedules.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ export function Schedules() {
<DataTable
resource="schedule"
endpoint="/api/v1/task_schedulers?sort=id|desc"
bulkRoute="/api/v1/task_schedulers/bulk"
columns={columns}
linkToCreate="/settings/schedules/create"
linkToEdit="/settings/schedules/:id/edit"
Expand Down
1 change: 1 addition & 0 deletions src/pages/settings/subscriptions/index/Subscriptions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ export function Subscriptions() {
<DataTable
resource="subscription"
endpoint="/api/v1/subscriptions?sort=id|desc"
bulkRoute="/api/v1/subscriptions/bulk"
columns={columns}
linkToCreate="/settings/subscriptions/create"
linkToEdit="/settings/subscriptions/:id/edit"
Expand Down
1 change: 1 addition & 0 deletions src/pages/settings/task-statuses/TaskStatuses.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ export function TaskStatuses() {
resource="task_status"
columns={columns}
endpoint="/api/v1/task_statuses?sort=id|desc"
bulkRoute="/api/v1/task_statuses/bulk"
linkToCreate="/settings/task_statuses/create"
linkToEdit="/settings/task_statuses/:id/edit"
withResourcefulActions
Expand Down
1 change: 1 addition & 0 deletions src/pages/settings/tax-rates/TaxRates.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ export function TaxRates() {
<DataTable
resource="tax_rate"
endpoint="/api/v1/tax_rates?sort=id|desc"
bulkRoute="/api/v1/tax_rates/bulk"
columns={columns}
linkToCreate="/settings/tax_rates/create"
linkToEdit="/settings/tax_rates/:id/edit"
Expand Down
1 change: 1 addition & 0 deletions src/pages/transactions/index/Transactions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ export function Transactions() {
<DataTable
resource="transaction"
endpoint="/api/v1/bank_transactions?sort=id|desc"
bulkRoute="/api/v1/bank_transactions/bulk"
columns={columns}
linkToCreate="/transactions/create"
linkToEdit="/transactions/:id/edit"
Expand Down
1 change: 1 addition & 0 deletions src/pages/vendors/index/Vendors.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ export function Vendors() {
resource="vendor"
columns={columns}
endpoint="/api/v1/vendors?sort=id|desc"
bulkRoute="/api/v1/vendors/bulk"
linkToCreate="/vendors/create"
linkToEdit="/vendors/:id/edit"
withResourcefulActions
Expand Down
2 changes: 1 addition & 1 deletion src/resources/lang/de/de.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/resources/lang/en/en.json

Large diffs are not rendered by default.

0 comments on commit 91aff71

Please sign in to comment.