Add support for gdpr_removal field on orders and set a timestamp for … (#377)

* Add support for gdpr_removal field on orders and set a timestamp for all orders with a comment containing the abbrevation GDPR

* Added gdpr removal field to v_funnel_orders view
This commit is contained in:
Olaf Lindström
2024-02-22 11:36:20 +01:00
committed by GitHub
parent 4448e8cc52
commit 97cd625f3d
2 changed files with 67 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
ALTER TABLE orders
ADD COLUMN IF NOT EXISTS gdpr_removal TIMESTAMP WITH TIME ZONE;
UPDATE orders
SET gdpr_removal = NOW()::timestamp
WHERE id IN (SELECT id FROM orders WHERE LOWER(comment::TEXT) LIKE '%gdpr%');
+61
View File
@@ -0,0 +1,61 @@
-- View: public.v_funnel_orders
DROP VIEW public.v_funnel_orders;
CREATE OR REPLACE VIEW public.v_funnel_orders
AS
SELECT orders.id AS order_id,
orders.inserted AS order_date,
orders.delivered,
orders.newsletter,
orders.credit_invoice,
orders.canceled,
orders.delivered_date,
orders.country_code,
orders.language,
orders.delivery_country_code,
orders.delivery_method,
orders.delivery_price,
orders.delivery_vat AS vat,
orders.customer_type,
orders.payment_type,
orders.currency,
orders.exchange_rate,
orders.exchange_rate_eur,
orders.invoice_id,
orders.contract_customer_id,
orders.vat_number,
orders.cancels_order_id,
orders.cancelled_by_order_id,
orders.order_sum,
orders.order_sum / orders.exchange_rate AS order_sum_sek,
orders.market,
orders.locale,
orders.attention,
orders.gdpr_removal,
encode(digest(billing_address.first_name::text, 'sha256'::text), 'hex'::text) AS billing_address_first_name,
encode(digest(billing_address.last_name::text, 'sha256'::text), 'hex'::text) AS billing_address_last_name,
encode(digest(billing_address.email, 'sha256'::text), 'hex'::text) AS email,
encode(digest(billing_address.phone, 'sha256'::text), 'hex'::text) AS phone,
encode(digest(billing_address.address1::text, 'sha256'::text), 'hex'::text) AS billing_address_address1,
encode(digest(billing_address.address2::text, 'sha256'::text), 'hex'::text) AS billing_address_address2,
billing_address.company_name AS billing_address_company_name,
billing_address.country_code AS billing_address_country_code,
billing_address.city AS billing_address_city,
billing_address.zipcode AS billing_address_zipcode,
billing_address.state AS billing_address_state,
encode(digest(delivery_address.first_name::text, 'sha256'::text), 'hex'::text) AS delivery_address_first_name,
encode(digest(delivery_address.last_name::text, 'sha256'::text), 'hex'::text) AS delivery_address_last_name,
encode(digest(delivery_address.address1::text, 'sha256'::text), 'hex'::text) AS delivery_address_address1,
encode(digest(delivery_address.address2::text, 'sha256'::text), 'hex'::text) AS delivery_address_address2,
delivery_address.company_name AS delivery_address_company_name,
delivery_address.country_code AS delivery_address_country_code,
delivery_address.city AS delivery_address_city,
delivery_address.zipcode AS delivery_address_zipcode,
delivery_address.state AS delivery_address_state
FROM orders
JOIN addresses billing_address ON billing_address.id = orders.billing_address_id
LEFT JOIN addresses delivery_address ON delivery_address.id = orders.delivery_address_id
WHERE orders.paid = 1;
GRANT SELECT ON v_funnel_orders TO funnel;