BEGIN;

DROP VIEW v_my_account;

ALTER TABLE contact DROP COLUMN surfpermit;

CREATE VIEW v_my_account AS
SELECT *
  FROM contact
  WHERE contact.username::name = "current_user"();
GRANT SELECT, UPDATE ON v_my_account TO GROUP astium_users;

CREATE RULE update_v_my_account AS ON UPDATE TO v_my_account
  DO INSTEAD
  UPDATE contact set pause=new.pause where username=USER;

CREATE RULE activate_v_my_account AS ON UPDATE TO v_my_account
  DO INSTEAD
  INSERT INTO activate(action, type, which, status, created)
  VALUES
  ('modify', 'user', old.id, 'QUEUED', CURRENT_TIMESTAMP);

GRANT SELECT, INSERT, UPDATE ON v_my_account TO GROUP astium_users;

END;
