====== pears.NetDashboardObjectSet ======
Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
===== Original SQL =====
create procedure "pears"."NetDashboardObjectSet"( in "pWebUserID" char(20),in "pDashboardObjectID" char(20) default null,in "pType" char(50) default null,in "pTitle" char(250) default null,in "pDescriptor" long varchar default null,in "pShared" smallint default null,in "pAccessLevel" smallint default null,in "pDashboard" smallint default null,in "pHomePage" smallint default null )
result( "pResult" char(250) )
// IQXWeb
begin
declare "uStaffID" char(20);
select "staffid" into "uStaffID" from "iqxnetuser" where "iqxnetuserid" = "pWebUserID";
if "uStaffID" is null then
select '99:~Permission denied';
return
end if;
if "pType" = 'DELETE' then
delete from "DashboardObject" where "DashboardObjectID" = "pDashboardObjectID" and "StaffID" = "uStaffID";
select '0:~Success';
return
end if;
if "pDashboardObjectID" is null then
set "pDashboardObjectID" = "uniquekey"('');
insert into "DashboardObject"( "DashboardObjectID","StaffID","Type","Title","Descriptor","Shared","AccessLevel" ) values( "pDashboardObjectID","uStaffID","pType","pTitle","pDescriptor","pShared","isnull"("pAccessLevel",0) )
else
update "DashboardObject" set "Title" = "isnull"("pTitle","Title"),"Descriptor" = "isnull"("pDescriptor","Descriptor"),"Shared" = "isnull"("pShared","Shared"),"AccessLevel" = "isnull"("pAccessLevel","AccessLevel") where "DashboardObjectID" = "pDashboardObjectID" and "StaffID" = "uStaffID"
end if;
if "pDashboard" is not null then
insert into "DashboardDisplayedObject"( "DashboardObjectID","StaffID","OnDashboard" ) on existing update defaults off values( "pDashboardObjectID","uStaffID","pDashboard" )
end if;
if "pHomePage" is not null then
insert into "DashboardDisplayedObject"( "DashboardObjectID","StaffID","OnHomePage" ) on existing update defaults off values( "pDashboardObjectID","uStaffID","pHomePage" )
end if;
delete from "DashboardDisplayedObject" where "DashboardObjectID" = "pDashboardObjectID" and "StaffID" = "uStaffID" and "OnDashboard" = 0 and "OnHomePage" = 0;
select '0:'+"pDashboardObjectID"+'~Success'
end
go
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."NetDashboardObjectSet" IS
{create procedure pears.NetDashboardObjectSet( in pWebUserID char(20), in pDashboardObjectID char(20) default null, in pType char(50) default null, in pTitle char(250) default null, in pDescriptor long varchar default null, in pShared smallint default null, in pAccessLevel smallint default null, in pDashboard smallint default null, in pHomePage smallint default null)
result(pResult char(250))
// IQXWeb
begin
declare uStaffID char(20);
select staffid into uStaffID from iqxnetuser where iqxnetuserid = pWebUserID;
if uStaffID is null then
select '99:~Permission denied';
return
end if;
if pType='DELETE' then
delete from DashboardObject where DashboardObjectID=pDashboardObjectID and StaffID=uStaffID;
select '0:~Success';
return;
end if;
if pDashboardObjectID is null then
set pDashboardObjectID=uniquekey('');
insert into DashboardObject (DashboardObjectID,StaffID,Type,Title,Descriptor,Shared,AccessLevel) values (pDashboardObjectID,uStaffID,pType,pTitle,pDescriptor,pShared,isnull(pAccessLevel,0))
else
update DashboardObject set Title=isnull(pTitle,Title), Descriptor=isnull(pDescriptor,Descriptor), Shared=isnull(pShared,Shared), AccessLevel=isnull(pAccessLevel,AccessLevel) where DashboardObjectID=pDashboardObjectID and StaffID=uStaffID
end if;
if pDashboard is not null then
insert into DashboardDisplayedObject (DashboardObjectID, StaffID, OnDashboard) on existing update defaults off values (pDashboardObjectID,uStaffID,pDashboard);
end if;
if pHomePage is not null then
insert into DashboardDisplayedObject (DashboardObjectID, StaffID, OnHomePage) on existing update defaults off values (pDashboardObjectID,uStaffID,pHomePage);
end if;
delete from DashboardDisplayedObject where DashboardObjectID=pDashboardObjectID and StaffID=uStaffID and OnDashboard=0 and OnHomePage=0;
select '0:'+pDashboardObjectID+'~Success'
end
}