def test_not_allowed_if_not_franchise_organization(self): from psi.app.models import EnumValues, Organization, PurchaseOrder with self.test_client: login_as_admin(self.test_client) org_type = EnumValues.get(const.DIRECT_SELLING_STORE_ORG_TYPE_KEY) organization = object_faker.organization( parent=Organization.query.get(1), type=org_type) user, pwd = object_faker.user(role_names=[ 'franchise_purchase_order_create', 'franchise_purchase_order_edit', 'franchise_purchase_order_delete', 'franchise_purchase_order_view' ], organization=organization) db_util.save_objects_commit(user, organization) login_user(self.test_client, user.email, pwd) draft_status = EnumValues.get(const.PO_DRAFT_STATUS_KEY) order_date = object_faker.faker.date_time_this_year() logistic_amount = random.randint(0, 100) remark = object_faker.faker.text(max_nb_chars=50) rv = self.test_client.post(url_for('fpo.create_view', url=url_for('fpo.index_view')), data=dict( status=draft_status.id, order_date=order_date, logistic_amount=logistic_amount, remark=remark), follow_redirects=True) self.assertEqual(200, rv.status_code) self.assertIn( 'Your organization is not a franchise store and is not allowed to ' 'create franchise purchase order', rv.data) po = PurchaseOrder.query.all() self.assertEqual(0, len(po))
def test_all_page_rendered(self): user, password = of.user(role_names=[ 'sales_report_view', ]) db_util.save_objects_commit(user) fixture.login_user(self.test_client, user.email, password) self.assertPageRendered(endpoint=url_for( 'product_sales_report.index_view', type='overall')) self.assertPageRendered( endpoint=url_for('product_sales_report.index_view', type='today')) self.assertPageRendered(endpoint=url_for( 'product_sales_report.index_view', type='yesterday')) self.assertPageRendered(endpoint=url_for( 'product_sales_report.index_view', type='this_week')) self.assertPageRendered(endpoint=url_for( 'product_sales_report.index_view', type='last_week')) self.assertPageRendered(endpoint=url_for( 'product_sales_report.index_view', type='this_month')) self.assertPageRendered(endpoint=url_for( 'product_sales_report.index_view', type='last_month')) self.assertPageRendered(endpoint=url_for( 'product_sales_report.index_view', type='this_quarter')) self.assertPageRendered(endpoint=url_for( 'product_sales_report.index_view', type='last_quarter')) self.assertPageRendered(endpoint=url_for( 'product_sales_report.index_view', type='this_year')) self.assertPageRendered(endpoint=url_for( 'product_sales_report.index_view', type='last_year')) fixture.logout_user(self.test_client)
def test_logic(): fixture.login_as_admin(self.test_client) user, password = object_faker.user(role_names=[ 'franchise_sales_order_create', 'franchise_sales_order_view', 'franchise_sales_order_edit', 'product_view' ]) franchise_so_type = EnumValues.get(FRANCHISE_SO_TYPE_KEY) sales_order = object_faker.sales_order(creator=user, number_of_line=1, type=franchise_so_type) db_util.save_objects_commit(sales_order, user) so_id = sales_order.id shipped_status = EnumValues.get(SO_SHIPPED_STATUS_KEY) fixture.login_user(self.test_client, user.email, password) rv = self.test_client.put('/api/sales_order/' + str(so_id), follow_redirects=True, data=dict(status_id=shipped_status.id)) self.assertIn('message', rv.data) self.assertIn('Status update successfully', rv.data) self.assertEqual(rv.status_code, 200) so_from_db = Info.get_db().session.query(SalesOrder).get(so_id) self.assertIsNotNone(so_from_db) self.assertEquals(SO_SHIPPED_STATUS_KEY, so_from_db.status.code)
def test_logic(): fixture.login_as_admin(self.test_client) user, password = object_faker.user(role_names=[ 'franchise_sales_order_create', 'franchise_sales_order_view', 'franchise_sales_order_edit', 'product_view' ]) franchise_so_type = EnumValues.get(FRANCHISE_SO_TYPE_KEY) sales_order = object_faker.sales_order(creator=user, number_of_line=1, type=franchise_so_type) db_util.save_objects_commit(sales_order, user) so_id = sales_order.id shipped_status = EnumValues.get(SO_SHIPPED_STATUS_KEY) fixture.login_user(self.test_client, user.email, password) rv = self.test_client.put('/api/sales_order/' + str(so_id), follow_redirects=True, data=dict(status_id=shipped_status.id)) self.assertIn(b'message', rv.data) self.assertIn(b'Status update successfully', rv.data) self.assertEqual(rv.status_code, 200) so_from_db = Info.get_db().session.query(SalesOrder).get(so_id) self.assertIsNotNone(so_from_db) self.assertEquals(SO_SHIPPED_STATUS_KEY, so_from_db.status.code)
def test_create(self): from psi.app.models import EnumValues type_id = EnumValues.get(const.DIRECT_SELLING_STORE_ORG_TYPE_KEY).id with self.test_client: fixture.login_as_admin(self.test_client) org_name = object_faker.faker.name() org_desc = object_faker.faker.text(max_nb_chars=20) create_url = self.create_endpoint(view='organization') self.assertPageRendered(endpoint=create_url, method=self.test_client.get, expect_contents=['betterlife', '直营店']) self.assertPageRendered(endpoint=create_url, method=self.test_client.post, expect_contents=[org_name, org_desc], data={"type": type_id, "name": org_name, "description": org_desc, "parent": 1}) self.assertDeleteSuccessful(endpoint=url_for('organization.delete_view', id=2, url=url_for('organization.index_view')), deleted_data=[org_name, org_desc]) from psi.app.models import Organization user, pwd = object_faker.user(role_names=['organization_create', 'organization_view', 'organization_delete', 'organization_edit'], organization=Organization.query.get(1)) db_util.save_objects_commit(user) fixture.login_user(self.test_client, user.email, pwd) from psi.app.models import EnumValues org_type = EnumValues.get(const.DIRECT_SELLING_STORE_ORG_TYPE_KEY) self.assertCreateFail(endpoint=create_url, create_data=[org_name, org_desc], data={"type": org_type.id, "name": org_name, "description": org_desc, "parent": 1})
def test_all_page_rendered(self): user, password = of.user(role_names=[ 'report_view', ]) db_util.save_objects_commit(user) fixture.login_user(self.test_client, user.email, password) self.assertPageRendered(endpoint=url_for('sales_amount.index')) self.assertPageRendered(endpoint=url_for('sales_profit.index')) fixture.logout_user(self.test_client)
def test_sales_order_list_create_page(self): user, password = of.user( role_names=['direct_sales_order_create', 'direct_sales_order_view'] ) db_util.save_objects_commit(user) fixture.login_user(self.test_client, user.email, password) self.assertPageRendered(endpoint=url_for('salesorder.index_view')) self.assertPageRendered(endpoint=url_for('salesorder.create_view')) fixture.logout_user(self.test_client)
def test_sales_order_list_create_page(self): user, password = of.user( role_names=['direct_sales_order_create', 'direct_sales_order_view'] ) db_util.save_objects_commit(user) fixture.login_user(self.test_client, user.email, password) self.assertPageRendered(endpoint=url_for('salesorder.index_view')) self.assertPageRendered(endpoint=url_for('salesorder.create_view')) fixture.logout_user(self.test_client)
def test_purchase_price_show_and_hidden_detail_page(self): from tests.fixture import run_as_admin user, password = object_faker.user(role_names=[ 'purchase_price_view', 'direct_purchase_order_view', 'product_view' ]) po = object_faker.purchase_order(number_of_line=1, creator=user) po_url = url_for('dpo.details_view', id=po.id) product_url = url_for('product.details_view', id=po.lines[0].product.id) run_as_admin(self.test_client, self.logic_for_detail_edit_page, user, password, po, po_url, product_url)
def test_all_page_rendered(self): user, password = of.user( role_names=['report_view', ] ) db_util.save_objects_commit(user) fixture.login_user(self.test_client, user.email, password) self.assertPageRendered(endpoint=url_for('sales_amount.index')) self.assertPageRendered(endpoint=url_for('sales_profit.index')) fixture.logout_user(self.test_client)
def test_purchase_order_hide_then_show_list_page(self): from psi.app.service import Info from psi.app.models.role import Role from psi.app.utils import save_objects_commit role = Info.get_db().session.query(Role).filter_by( name='purchase_price_view').first() user, password = object_faker.user( ['product_view', 'direct_purchase_order_view']) save_objects_commit(user, role) fixture.login_user(self.test_client, user.email, password) rv = self.test_client.get(url_for('dpo.index_view'), follow_redirects=True) self.assertEqual(rv.status_code, 200) self.assertNotIn( b'<th class="column-header col-goods_amount">', rv.data, b"goods amount should not exits in purchase order " b"list page") self.assertNotIn( b'<th class="column-header col-total_amount">', rv.data, b"total amount should not exits in purchase order " b"list page") self.assertNotIn( b'<th class="column-header col-all_expenses">', rv.data, b"all expenses should not exits in purchase order " b"list page") rv = self.test_client.get(url_for('product.index_view'), follow_redirects=True) self.assertNotIn( b'<th class="column-header col-purchase_price">', rv.data, b"purchase price field should not exit in product " b"list page") user.roles.append(role) save_objects_commit(user, role) rv = self.test_client.get(url_for('dpo.index_view'), follow_redirects=True) self.assertEqual(rv.status_code, 200) self.assertIn( b'<th class="column-header col-goods_amount">', rv.data, b"goods amount should exist in purchase order list page") self.assertIn( b'<th class="column-header col-total_amount">', rv.data, b"total amount should exist in purchase order list page") self.assertIn( b'<th class="column-header col-all_expenses">', rv.data, b"all expenses should exist in purchase order list page") rv = self.test_client.get(url_for('product.index_view'), follow_redirects=True) self.assertIn( b'<th class="column-header col-purchase_price">', rv.data, b"purchase price field should exits in product list page") fixture.logout_user(self.test_client)
def test_franchise_purchase_order_pages(self): from psi.app.models import EnumValues, Organization org_type = EnumValues.get(const.FRANCHISE_STORE_ORG_TYPE_KEY) organization = object_faker.organization(parent=Organization.query.get(1), type=org_type) user, pwd = object_faker.user( role_names=['franchise_purchase_order_create', 'franchise_purchase_order_edit', 'franchise_purchase_order_delete', 'franchise_purchase_order_view'], organization=organization) db_util.save_objects_commit(user, organization) login_user(self.test_client, user.email, pwd) self.assertPageRendered(url_for('fpo.index_view'))
def test_create(self): from psi.app.models import EnumValues type_id = EnumValues.get(const.DIRECT_SELLING_STORE_ORG_TYPE_KEY).id with self.test_client: fixture.login_as_admin(self.test_client) org_name = object_faker.faker.name() org_desc = object_faker.faker.text(max_nb_chars=20) create_url = self.create_endpoint(view='organization') self.assertPageRendered( endpoint=create_url, method=self.test_client.get, expect_contents=['betterlife', '直营店']) self.assertPageRendered( endpoint=create_url, method=self.test_client.post, expect_contents=[org_name, org_desc], data={ "type": type_id, "name": org_name, "description": org_desc, "parent": 1 }) self.assertDeleteSuccessful( endpoint=url_for( 'organization.delete_view', id=2, url=url_for('organization.index_view')), deleted_data=[org_name, org_desc]) from psi.app.models import Organization user, pwd = object_faker.user( role_names=[ 'organization_create', 'organization_view', 'organization_delete', 'organization_edit' ], organization=Organization.query.get(1)) db_util.save_objects_commit(user) fixture.login_user(self.test_client, user.email, pwd) from psi.app.models import EnumValues org_type = EnumValues.get(const.DIRECT_SELLING_STORE_ORG_TYPE_KEY) self.assertCreateFail( endpoint=create_url, create_data=[org_name, org_desc], data={ "type": org_type.id, "name": org_name, "description": org_desc, "parent": 1 })
def test_franchise_purchase_order_pages(self): from psi.app.models import EnumValues, Organization org_type = EnumValues.get(const.FRANCHISE_STORE_ORG_TYPE_KEY) organization = object_faker.organization( parent=Organization.query.get(1), type=org_type) user, pwd = object_faker.user(role_names=[ 'franchise_purchase_order_create', 'franchise_purchase_order_edit', 'franchise_purchase_order_delete', 'franchise_purchase_order_view' ], organization=organization) db_util.save_objects_commit(user, organization) login_user(self.test_client, user.email, pwd) self.assertPageRendered(url_for('fpo.index_view'))
def test_logic(): fixture.login_as_admin(self.test_client) user, password = object_faker.user(role_names=[ 'franchise_sales_order_create', 'franchise_sales_order_view', 'product_view' ]) sales_order = object_faker.sales_order(creator=user, number_of_line=1) db_util.save_objects_commit(sales_order, user) so_id = sales_order.id delivered_status = EnumValues.get(SO_DELIVERED_STATUS_KEY) fixture.login_user(self.test_client, user.email, password) rv = self.test_client.put('/api/sales_order/' + str(so_id), follow_redirects=True, data=dict(status_id=delivered_status.id)) self.assertEqual(rv.status_code, 403)
def test_logic(): fixture.login_as_admin(self.test_client) user, password = object_faker.user(role_names=[ 'franchise_sales_order_create', 'franchise_sales_order_view', 'franchise_sales_order_edit', 'product_view' ]) sales_order = object_faker.sales_order(creator=user, number_of_line=1) db_util.save_objects_commit(sales_order, user) so_id = sales_order.id fixture.login_user(self.test_client, user.email, password) rv = self.test_client.put('/api/sales_order/' + str(so_id), follow_redirects=True, data=dict(status_id=5000)) self.assertEqual(rv.status_code, 201) self.assertIn(b'message', rv.data) self.assertIn(b'Invalid sales order status parameter', rv.data)
def test_logic(): fixture.login_as_admin(self.test_client) user, password = object_faker.user(role_names=[ 'franchise_sales_order_create', 'franchise_sales_order_view', 'product_view' ]) sales_order = object_faker.sales_order(creator=user, number_of_line=1) db_util.save_objects_commit(sales_order, user) so_id = sales_order.id delivered_status = EnumValues.get(SO_DELIVERED_STATUS_KEY) fixture.login_user(self.test_client, user.email, password) rv = self.test_client.put('/api/sales_order/' + str(so_id), follow_redirects=True, data=dict(status_id=delivered_status.id)) self.assertEqual(rv.status_code, 403)
def test_all_page_rendered(self): user, password = of.user( role_names=['sales_report_view', ] ) db_util.save_objects_commit(user) fixture.login_user(self.test_client, user.email, password) self.assertPageRendered(endpoint=url_for('supplier_sales_report.index_view', type='overall')) self.assertPageRendered(endpoint=url_for('supplier_sales_report.index_view', type='today')) self.assertPageRendered(endpoint=url_for('supplier_sales_report.index_view', type='yesterday')) self.assertPageRendered(endpoint=url_for('supplier_sales_report.index_view', type='this_week')) self.assertPageRendered(endpoint=url_for('supplier_sales_report.index_view', type='last_week')) self.assertPageRendered(endpoint=url_for('supplier_sales_report.index_view', type='this_month')) self.assertPageRendered(endpoint=url_for('supplier_sales_report.index_view', type='last_month')) self.assertPageRendered(endpoint=url_for('supplier_sales_report.index_view', type='this_quarter')) self.assertPageRendered(endpoint=url_for('supplier_sales_report.index_view', type='last_quarter')) self.assertPageRendered(endpoint=url_for('supplier_sales_report.index_view', type='this_year')) self.assertPageRendered(endpoint=url_for('supplier_sales_report.index_view', type='last_year')) fixture.logout_user(self.test_client)
def test_to_organization_hide(self): from psi.app.models import EnumValues, PurchaseOrder, Organization from psi.app.service import Info from datetime import datetime t = EnumValues.get(const.FRANCHISE_STORE_ORG_TYPE_KEY) draft_status = EnumValues.get(const.PO_DRAFT_STATUS_KEY) draft_status_id = draft_status.id parent = Info.get_db().session.query(Organization).get(1) organization = object_faker.organization(type=t, parent=parent) user, password = object_faker.user([ 'franchise_purchase_order_create', 'franchise_purchase_order_edit', 'franchise_purchase_order_view', 'franchise_purchase_order_delete' ], organization=organization) db_util.save_objects_commit(user) fixture.login_user(self.test_client, user.email, password) rv = self.test_client.get(url_for('fpo.create_view'), follow_redirects=True) self.assertEqual(rv.status_code, 200) self.assertNotIn('to_organization', rv.data) remark = u'-备注信息-' order_date = '2016-08-25 23:18:55' rv = self.test_client.post(url_for('fpo.create_view'), follow_redirects=True, data=dict(status=draft_status_id, logistic_amount=20, order_date=order_date, _continue_editing=u'保存并继续编辑', remark=remark)) self.assertEquals(rv.status_code, 200) po = PurchaseOrder.query.filter_by(remark=remark).first() self.assertIsNotNone(po) self.assertEquals(po.remark, remark) self.assertEquals(po.logistic_amount, 20) self.assertEquals(po.status.id, draft_status.id) self.assertEqual(po.order_date, datetime.strptime(order_date, "%Y-%m-%d %H:%M:%S")) self.assertEqual(po.to_organization, parent) self.assertEquals(po.organization, organization)
def test_logic(): fixture.login_as_admin(self.test_client) user, password = object_faker.user(role_names=[ 'franchise_sales_order_create', 'franchise_sales_order_view', 'franchise_sales_order_edit', 'product_view' ]) sales_order = object_faker.sales_order(creator=user, number_of_line=1) shipped_status = EnumValues.get(SO_SHIPPED_STATUS_KEY) sales_order.status = shipped_status db_util.save_objects_commit(sales_order, user) so_id = sales_order.id fixture.login_user(self.test_client, user.email, password) rv = self.test_client.put('/api/sales_order/' + str(so_id), follow_redirects=True, data=dict(status_id=shipped_status.id)) self.assertEqual(rv.status_code, 201) self.assertIn(b'message', rv.data) self.assertIn(b'Status update not allowed', rv.data)
def test_logic(): fixture.login_as_admin(self.test_client) user, password = object_faker.user(role_names=[ 'franchise_sales_order_create', 'franchise_sales_order_view', 'franchise_sales_order_edit', 'product_view' ]) sales_order = object_faker.sales_order(creator=user, number_of_line=1) db_util.save_objects_commit(sales_order, user) so_id = sales_order.id fixture.login_user(self.test_client, user.email, password) rv = self.test_client.put('/api/sales_order/' + str(so_id), follow_redirects=True, data=dict(status_id=5000)) self.assertEqual(rv.status_code, 201) self.assertIn(b'message', rv.data) self.assertIn(b'Invalid sales order status parameter', rv.data)
def test_logic(): fixture.login_as_admin(self.test_client) user, password = object_faker.user(role_names=[ 'franchise_sales_order_create', 'franchise_sales_order_view', 'franchise_sales_order_edit', 'product_view' ]) sales_order = object_faker.sales_order(creator=user, number_of_line=1) shipped_status = EnumValues.get(SO_SHIPPED_STATUS_KEY) sales_order.status = shipped_status db_util.save_objects_commit(sales_order, user) so_id = sales_order.id fixture.login_user(self.test_client, user.email, password) rv = self.test_client.put('/api/sales_order/' + str(so_id), follow_redirects=True, data=dict(status_id=shipped_status.id)) self.assertEqual(rv.status_code, 201) self.assertIn(b'message', rv.data) self.assertIn(b'Status update not allowed', rv.data)
def create_sales_order(self, status_key): from psi.app.models import EnumValues from psi.app.services.purchase_order import PurchaseOrderService user, password = of.user( role_names=['direct_sales_order_create', 'direct_sales_order_view', 'direct_sales_order_edit', 'direct_sales_order_delete'] ) db_util.save_objects_commit(user) fixture.login_as_admin(self.test_client) fixture.login_user(self.test_client, user.email, password) direct_po = EnumValues.get(const.DIRECT_PO_TYPE_KEY) po = of.purchase_order(number_of_line=2, type=direct_po, creator=user) po.status = EnumValues.get(const.PO_ISSUED_STATUS_KEY) fixture.login_as_admin(self.test_client) l_e, g_e, recv = PurchaseOrderService.create_expense_receiving(po) customer = of.customer(creator=user) db_util.save_objects_commit(po, l_e, g_e, recv, customer) fixture.logout_user(self.test_client) fixture.login_user(self.test_client, user.email, password) order_status = EnumValues.get(status_key) order_date = of.faker.date_time_this_year() logistic_amount = random.randint(0, 100) remark = of.faker.text(max_nb_chars=50) data = dict(customer=customer.id, status=order_status.id, order_date=order_date, logistic_amount=logistic_amount, remark=remark) total, data = self.prepare_so_lines_data_from_po(po, data) expect = [customer.name, order_status.display, order_date.strftime("%Y-%m-%d"), remark, str(total)] self.assertPageRendered(method=self.test_client.post, data=data, endpoint=url_for('salesorder.create_view', url=url_for( 'salesorder.index_view')), expect_contents=expect) return data, expect
def create_sales_order(self, status_key): from psi.app.models import EnumValues from psi.app.services.purchase_order import PurchaseOrderService user, password = of.user( role_names=['direct_sales_order_create', 'direct_sales_order_view', 'direct_sales_order_edit', 'direct_sales_order_delete'] ) db_util.save_objects_commit(user) fixture.login_as_admin(self.test_client) fixture.login_user(self.test_client, user.email, password) direct_po = EnumValues.get(const.DIRECT_PO_TYPE_KEY) po = of.purchase_order(number_of_line=2, type=direct_po, creator=user) po.status = EnumValues.get(const.PO_ISSUED_STATUS_KEY) fixture.login_as_admin(self.test_client) l_e, g_e, recv = PurchaseOrderService.create_expense_receiving(po) customer = of.customer(creator=user) db_util.save_objects_commit(po, l_e, g_e, recv, customer) fixture.logout_user(self.test_client) fixture.login_user(self.test_client, user.email, password) order_status = EnumValues.get(status_key) order_date = of.faker.date_time_this_year() logistic_amount = random.randint(0, 100) remark = of.faker.text(max_nb_chars=50) data = dict(customer=customer.id, status=order_status.id, order_date=order_date, logistic_amount=logistic_amount, remark=remark) total, data = self.prepare_so_lines_data_from_po(po, data) expect = [customer.name, order_status.display, order_date.strftime("%Y-%m-%d"), remark, str(total)] self.assertPageRendered(method=self.test_client.post, data=data, endpoint=self.create_endpoint(view='salesorder'), expect_contents=expect) return data, expect
def test_franchise_purchase_order_pages(self): from psi.app.models import EnumValues, Organization with self.test_client: login_as_admin(self.test_client) org_type = EnumValues.get(const.FRANCHISE_STORE_ORG_TYPE_KEY) organization = object_faker.organization( parent=Organization.query.get(1), type=org_type) user, pwd = object_faker.user(role_names=[ 'franchise_purchase_order_create', 'franchise_purchase_order_edit', 'franchise_purchase_order_delete', 'franchise_purchase_order_view' ], organization=organization) self.test_client.post('/login', data=dict(email_or_login=user.email, password=pwd), follow_redirects=True) db_util.save_objects_commit(user, organization) login_user(self.test_client, user.email, pwd) self.assertPageRendered(url_for('fpo.index_view')) self.assertPageRendered(url_for('fpo.create_view')) draft_status = EnumValues.get(const.PO_DRAFT_STATUS_KEY) order_date = object_faker.faker.date_time_this_year() logistic_amount = random.randint(0, 100) remark = object_faker.faker.text(max_nb_chars=50) expect_contents = [ draft_status.display, str(logistic_amount), order_date.strftime("%Y-%m-%d"), remark ] self.assertPageRendered(method=self.test_client.post, data=dict(status=draft_status.id, order_date=order_date, logistic_amount=logistic_amount, remark=remark), endpoint=url_for( 'fpo.create_view', url=url_for('fpo.index_view')), expect_contents=expect_contents) self.assertPageRendered(expect_contents=expect_contents, endpoint=url_for('fpo.edit_view', url=url_for( 'fpo.details_view', id=1), id=1)) new_remark = object_faker.faker.text(max_nb_chars=50) new_logistic_amount = random.randint(0, 100) new_order_date = object_faker.faker.date_time_this_year() new_expect_contents = [ draft_status.display, str(new_logistic_amount), new_order_date.strftime("%Y-%m-%d"), new_remark ] self.assertPageRendered( method=self.test_client.post, endpoint=url_for('fpo.edit_view', url=url_for('fpo.index_view'), id=1), data=dict(status=draft_status.id, order_date=new_order_date, logistic_amount=new_logistic_amount, remark=new_remark), expect_contents=new_expect_contents) rv = self.assertDeleteSuccessful( endpoint=url_for('fpo.delete_view'), deleted_data=[ draft_status.display, new_remark, new_order_date.strftime("%Y-%m-%d") ], data=dict(url=url_for('fpo.index_view'), id='1'))