-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
added field export_url in expense group and util to generate URL (#457)
* add employee name in expense and script to populate data * test fixture changes * added field export_url in expense group and util to generate URL * updated test and fixtures * changed scripts to batch update export url * bug fix * comment resolved * added more fields in expense serializer for redirection (#458) * added more fields in expense serializer * Sync import API (#459) * added expense group sync API * minor changes * added url for expense group sync view
- Loading branch information
1 parent
64f108a
commit 36dd0f9
Showing
12 changed files
with
188 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Generated by Django 3.1.14 on 2023-11-22 10:11 | ||
|
||
from django.db import migrations, models | ||
|
||
|
||
class Migration(migrations.Migration): | ||
|
||
dependencies = [ | ||
('fyle', '0027_expensegroup_employee_name'), | ||
] | ||
|
||
operations = [ | ||
migrations.AddField( | ||
model_name='expensegroup', | ||
name='export_url', | ||
field=models.CharField(help_text='Netsuite URL for the exported expenses', max_length=255, null=True), | ||
), | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
from apps.fyle.models import ExpenseGroup | ||
from apps.workspaces.models import NetSuiteCredentials, Workspace | ||
from fyle_netsuite_api.utils import generate_netsuite_export_url | ||
|
||
|
||
prod_workspaces = Workspace.objects.exclude( | ||
name__iregex=r'(fyle|test)', | ||
) | ||
|
||
for workspace in prod_workspaces: | ||
page_size = 200 | ||
expense_group_counts = ExpenseGroup.objects.filter(workspace_id=workspace.id, response_logs__isnull=False).count() | ||
for offset in range(0, expense_group_counts, page_size): | ||
expense_to_be_updated = [] | ||
limit = offset + page_size | ||
paginated_expense_groups = ExpenseGroup.objects.filter(workspace_id=workspace.id, response_logs__isnull=False)[offset:limit] | ||
for expense_group in paginated_expense_groups: | ||
netsuite_cred = NetSuiteCredentials.objects.get(workspace_id=workspace.id) | ||
expense_group.export_url = generate_netsuite_export_url(response_logs=expense_group.response_logs, ns_account_id=netsuite_cred.ns_account_id) | ||
expense_group.save() |
29 changes: 29 additions & 0 deletions
29
scripts/sql/scripts/020-fill-employee_name-in-expenses-and-expense_groups.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
rollback; | ||
begin; | ||
|
||
with ws as ( | ||
select expense_attributes.detail->>'full_name' as expense_attributes_full_name, | ||
expense_attributes.workspace_id as expense_attributes_workspace_id, | ||
expense_attributes.value as expense_attribute_email | ||
from expense_groups | ||
inner join expense_attributes on expense_attributes.value = expense_groups.description->>'employee_email' | ||
where expense_groups.workspace_id = expense_attributes.workspace_id | ||
) | ||
|
||
update expense_groups | ||
set employee_name = ws.expense_attributes_full_name | ||
from ws | ||
where expense_groups.description->>'employee_email' = ws.expense_attribute_email; | ||
|
||
|
||
-- Run this in after running the above query. | ||
with ex as ( | ||
select expense_groups.employee_name as employee_name | ||
from expense_groups | ||
inner join expense_groups_expenses on expense_groups.id = expense_groups_expenses.expensegroup_id | ||
inner join expenses on expense_groups_expenses.expense_id = expenses.id | ||
) | ||
|
||
update expenses | ||
set employee_name = ex.employee_name | ||
from ex; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -928,7 +928,8 @@ CREATE TABLE public.expense_groups ( | |
fund_source character varying(255) NOT NULL, | ||
exported_at timestamp with time zone, | ||
response_logs jsonb, | ||
employee_name character varying(100) | ||
employee_name character varying(100), | ||
export_url character varying(255) | ||
); | ||
|
||
|
||
|
@@ -7827,11 +7828,12 @@ COPY public.django_migrations (id, app, name, applied) FROM stdin; | |
169 mappings 0010_auto_20231025_0915 2023-11-07 07:21:37.268291+00 | ||
170 mappings 0011_auto_20231107_0720 2023-11-07 07:21:37.285191+00 | ||
171 netsuite 0023_bill_department_id 2023-11-07 07:21:37.291269+00 | ||
172 workspaces 0036_auto_20231027_0709 2023-11-20 12:12:44.910371+00 | ||
173 tasks 0009_error 2023-11-20 12:12:44.97278+00 | ||
174 workspaces 0037_lastexportdetail 2023-11-20 12:12:45.043763+00 | ||
175 workspaces 0038_configuration_allow_intercompany_vendors 2023-11-28 10:23:29.709496+00 | ||
176 fyle 0027_expensegroup_employee_name 2023-11-29 11:09:45.601313+00 | ||
172 workspaces 0037_lastexportdetail 2023-11-20 12:12:45.043763+00 | ||
173 workspaces 0038_configuration_allow_intercompany_vendors 2023-11-28 10:23:29.709496+00 | ||
174 fyle 0027_expensegroup_employee_name 2023-11-29 11:09:45.601313+00 | ||
175 workspaces 0036_auto_20231027_0709 2023-11-20 11:19:47.53547+00 | ||
176 tasks 0009_error 2023-11-20 11:19:47.609035+00 | ||
177 fyle 0028_expensegroup_export_url 2023-11-22 11:49:48.090718+00 | ||
\. | ||
|
||
|
||
|
@@ -11421,13 +11423,13 @@ COPY public.expense_group_settings (id, reimbursable_expense_group_fields, corpo | |
-- Data for Name: expense_groups; Type: TABLE DATA; Schema: public; Owner: postgres | ||
-- | ||
|
||
COPY public.expense_groups (id, description, created_at, updated_at, workspace_id, fund_source, exported_at, response_logs, employee_name) FROM stdin; | ||
1 {"report_id": "rpuN3bgphxbK", "fund_source": "PERSONAL", "claim_number": "C/2021/11/R/5", "employee_email": "[email protected]"} 2021-11-15 10:29:07.618062+00 2021-11-15 11:02:55.125634+00 1 PERSONAL \N \N \N | ||
2 {"report_id": "rpHLA9Dfp9hN", "fund_source": "CCC", "claim_number": "C/2021/11/R/6", "employee_email": "[email protected]"} 2021-11-15 13:12:12.275539+00 2021-11-15 13:27:27.538211+00 1 CCC \N \N \N | ||
3 {"report_id": "rpu5W0LYrk6e", "fund_source": "PERSONAL", "claim_number": "C/2021/11/R/2", "employee_email": "[email protected]"} 2021-11-16 04:25:49.206777+00 2021-11-16 04:25:49.206809+00 2 PERSONAL \N \N \N | ||
4 {"spent_at": "2021-11-16", "report_id": "rprqDvARHUnv", "expense_id": "txMLGb6Xy8m8", "fund_source": "CCC", "claim_number": "C/2021/11/R/1", "employee_email": "[email protected]"} 2021-11-16 04:25:49.226855+00 2021-11-16 04:25:49.226855+00 2 CCC \N \N \N | ||
47 {"report_id": "rpXqCutQj85N", "fund_source": "PERSONAL", "claim_number": "C/2021/12/R/1", "employee_email": "[email protected]"} 2021-12-03 11:26:58.731339+00 2021-12-03 11:26:58.731398+00 49 PERSONAL \N \N \N | ||
48 {"report_id": "rpXqCutQj85N", "expense_id": "txcKVVELn1Vl", "fund_source": "CCC", "claim_number": "C/2021/12/R/1", "employee_email": "[email protected]"} 2021-12-03 11:26:58.746214+00 2021-12-03 11:26:58.746248+00 49 CCC \N \N \N | ||
COPY public.expense_groups (id, description, created_at, updated_at, workspace_id, fund_source, exported_at, response_logs, employee_name, export_url) FROM stdin; | ||
1 {"report_id": "rpuN3bgphxbK", "fund_source": "PERSONAL", "claim_number": "C/2021/11/R/5", "employee_email": "[email protected]"} 2021-11-15 10:29:07.618062+00 2021-11-15 11:02:55.125634+00 1 PERSONAL \N \N \N \N | ||
2 {"report_id": "rpHLA9Dfp9hN", "fund_source": "CCC", "claim_number": "C/2021/11/R/6", "employee_email": "[email protected]"} 2021-11-15 13:12:12.275539+00 2021-11-15 13:27:27.538211+00 1 CCC \N \N \N \N | ||
3 {"report_id": "rpu5W0LYrk6e", "fund_source": "PERSONAL", "claim_number": "C/2021/11/R/2", "employee_email": "[email protected]"} 2021-11-16 04:25:49.206777+00 2021-11-16 04:25:49.206809+00 2 PERSONAL \N \N \N \N | ||
4 {"spent_at": "2021-11-16", "report_id": "rprqDvARHUnv", "expense_id": "txMLGb6Xy8m8", "fund_source": "CCC", "claim_number": "C/2021/11/R/1", "employee_email": "[email protected]"} 2021-11-16 04:25:49.226855+00 2021-11-16 04:25:49.226855+00 2 CCC \N \N \N \N | ||
47 {"report_id": "rpXqCutQj85N", "fund_source": "PERSONAL", "claim_number": "C/2021/12/R/1", "employee_email": "[email protected]"} 2021-12-03 11:26:58.731339+00 2021-12-03 11:26:58.731398+00 49 PERSONAL \N \N \N \N | ||
48 {"report_id": "rpXqCutQj85N", "expense_id": "txcKVVELn1Vl", "fund_source": "CCC", "claim_number": "C/2021/12/R/1", "employee_email": "[email protected]"} 2021-12-03 11:26:58.746214+00 2021-12-03 11:26:58.746248+00 49 CCC \N \N \N \N | ||
\. | ||
|
||
|
||
|
Oops, something went wrong.