<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<AEUMUpdate>
  <Name>upd230</Name>
  <ApplicationID>APROP</ApplicationID>
  <Archive>false</Archive>
  <Comment></Comment>
  <Version Major="6" Minor="7" Release="230" Build="1"/>
  <VersionMin Major="6" Minor="7" Release="229" Build="1"/>
  <FirstStep>2758</FirstStep>
  <Step UpdateType="Query" StepNumber="2758" DllName="" DllProcName="" PostgreSQL="" OracleSQL="" FirebirdSQL="ALTER TABLE USERS
    ADD USER_ACTIVE_KASA BOOLEAN,
    ADD USER_ACTIVE_RENTS BOOLEAN,
    ADD USER_ACTIVE_PROPERTIES BOOLEAN,
    ADD USER_ACTIVE_INCOMES BOOLEAN;" PostgreMany="false" OracleMany="false" FirebirdMany="false" ContinueOnError="false"/>
  <Step UpdateType="Query" StepNumber="2759" DllName="" DllProcName="" PostgreSQL="" OracleSQL="" FirebirdSQL="CREATE OR ALTER procedure AEUM_USER_UPDATE (
    ID integer,
    APPNAME varchar(100),
    USERNAME varchar(300),
    TITLE varchar(300),
    FIRST_NAME varchar(300),
    MIDDLE_NAME varchar(300),
    LAST_NAME varchar(300),
    PID varchar(300),
    POSITION_TEXT varchar(300))
as
declare variable RES integer;
declare variable active_kasa smallint;
declare variable active_properties smallint;
declare variable active_rents smallint;
declare variable active_incomes smallint;
begin
  select u1.user_id, u1.user_active_kasa, u1.user_active_rents,
         u1.user_active_properties, u1.user_active_incomes from users u1
  where u1.user_id = :id
  into :res, :active_kasa, :active_rents, :active_properties, :active_incomes;

  if (:APPNAME = &quot;APROP&quot;) then
    active_properties=1;
  if (:APPNAME = &quot;ARENTS&quot;) then
    active_rents=1;
  if (:APPNAME = &quot;AINCOMES&quot;) then
    active_incomes=1;
  if (:APPNAME = &quot;AKASA&quot;) then
    active_kasa=1;
  
  if (:res is Null) then
    begin
	  active_properties=COALESCE(:active_properties, 0);
	  active_rents=COALESCE(:active_rents, 0);
	  active_incomes=COALESCE(:active_incomes, 0);
	  active_kasa=COALESCE(:active_kasa, 0);
      insert into users (user_id, user_str, user_name, user_active_kasa, user_active_rents, user_active_properties, user_active_incomes)
      values (:id,atrimex(COALESCE(:first_name, &quot;&quot;) || &quot; &quot; || COALESCE(:middle_name, &quot;&quot;) || &quot; &quot; || COALESCE(:last_name, &quot;&quot;)), :username,  :active_kasa, :active_rents, :active_properties, :active_incomes);
    end
  else
    begin
      update users u2 set
        u2.user_str=atrimex(COALESCE(:first_name, &quot;&quot;) || &quot; &quot; || COALESCE(:middle_name, &quot;&quot;) || &quot; &quot; || COALESCE(:last_name, &quot;&quot;)),
        u2.user_name=:username,
        u2.user_active_kasa=:active_kasa,
        u2.user_active_rents=:active_rents,
        u2.user_active_properties=:active_properties,
        u2.user_active_incomes=:active_incomes
      where u2.user_id = :id;
    end
end" PostgreMany="false" OracleMany="false" FirebirdMany="false" ContinueOnError="false"/>
  <Step UpdateType="Query" StepNumber="2760" DllName="" DllProcName="" PostgreSQL="" OracleSQL="" FirebirdSQL="update users u1 set u1.user_active_kasa=u1.user_active,u1.user_active_rents=u1.user_active,u1.user_active_properties=u1.user_active,u1.user_active_incomes=u1.user_active;" PostgreMany="false" OracleMany="false" FirebirdMany="false" ContinueOnError="false"/>
  <Step UpdateType="Query" StepNumber="2761" DllName="" DllProcName="" PostgreSQL="" OracleSQL="" FirebirdSQL="CREATE OR ALTER trigger users_biu0 for users
active before insert or update position 0
AS
begin
  if ((new.user_name is null) or (new.user_name = ''))  then
  begin
    new.user_name=new.user_str;
  end
end" PostgreMany="false" OracleMany="false" FirebirdMany="false" ContinueOnError="false"/>
  <Step UpdateType="Query" StepNumber="2762" DllName="" DllProcName="" PostgreSQL="" OracleSQL="" FirebirdSQL="create or alter procedure AEUM_USER_DELETE (
    ID integer,
    APPNAME varchar(100))
as
begin
  if (:APPNAME = &quot;APROP&quot;) then
    update users u1 set u1.user_active_properties=0 where u1.user_id=:id;
  if (:APPNAME = &quot;ARENTS&quot;) then
    update users u1 set u1.user_active_rents=0 where u1.user_id=:id;
  if (:APPNAME = &quot;AINCOMES&quot;) then
    update users u1 set u1.user_active_incomes=0 where u1.user_id=:id;
  if (:APPNAME = &quot;AKASA&quot;) then
    update users u1 set u1.user_active_kasa=0 where u1.user_id=:id;
end" PostgreMany="false" OracleMany="false" FirebirdMany="false" ContinueOnError="false"/>
  <Step UpdateType="Query" StepNumber="2763" DllName="" DllProcName="" PostgreSQL="" OracleSQL="" FirebirdSQL="create or alter procedure ADD_USER (
    U_ID smallint,
    U_RNM varchar(72))
as
declare variable RES smallint;
BEGIN
  select User_id from Users
  where User_id = :U_id
  into :res;
  
  if (:res is Null) then
    begin
      insert into Users (User_id, User_str,user_active_kasa,user_active_rents,user_active_incomes,user_active_properties)
      values (:U_Id,:U_RNM,1,1,1,1);
    end
  else
    begin
      update Users set  User_STR = :U_RNM,user_active_kasa=1,user_active_rents=1,user_active_incomes=1,user_active_properties=1
      where User_id = :U_ID ;
    end
END" PostgreMany="false" OracleMany="false" FirebirdMany="false" ContinueOnError="false"/>
  <Step UpdateType="Query" StepNumber="2764" DllName="" DllProcName="" PostgreSQL="" OracleSQL="" FirebirdSQL="ALTER TABLE USERS DROP USER_ACTIVE;" PostgreMany="false" OracleMany="false" FirebirdMany="false" ContinueOnError="false"/>
  <Step UpdateType="Query" StepNumber="2765" DllName="" DllProcName="" PostgreSQL="" OracleSQL="" FirebirdSQL="update system_strings set sys_str = '6.7.230.1' where sys_id = 1401" PostgreMany="false" OracleMany="false" FirebirdMany="false" ContinueOnError="false"/>
</AEUMUpdate>
