USP_DATAFORMTEMPLATE_PRELOAD_BATCH2_ADD

The load procedure used by the edit dataform template "Batch Add Form 2"

Parameters

Parameter Parameter Type Mode Description
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@DISPLAYTOTALAMOUNT bit INOUT
@CANCHANGEBATCHNUMBERS bit INOUT Can change batch numbers
@CANEDITFIELDOPTIONS bit INOUT Can edit field options
@SKIPTESTFORWEBSHELL bit INOUT Ignore webshell conversion status
@SPECIFICBATCHTYPEID uniqueidentifier INOUT

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_PRELOAD_BATCH2_ADD
(          
    @CURRENTAPPUSERID uniqueidentifier,
    @DISPLAYTOTALAMOUNT bit = null output,
    @CANCHANGEBATCHNUMBERS bit = null output,
    @CANEDITFIELDOPTIONS bit = null output,
    @SKIPTESTFORWEBSHELL bit = null output,
    @SPECIFICBATCHTYPEID uniqueidentifier = null output
)
as
    set nocount on;

    set @DISPLAYTOTALAMOUNT = 0;

    declare @ISSYSADMIN bit = 0;
    select @ISSYSADMIN = ISSYSADMIN from dbo.APPUSER where ID = @CURRENTAPPUSERID;

    declare @GRANTEDBATCHTEMPLATEXML xml =
      (select distinct 
          BATCHTEMPLATE.ID as BATCHTEMPLATEID,
          BATCHTEMPLATE.NAME as BATCHTEMPLATENAME,
          BATCHTEMPLATE.SITEID as SITEID
      from dbo.BATCHTEMPLATE 
          left join dbo.BATCHTYPECATALOG on BATCHTEMPLATE.BATCHTYPECATALOGID = BATCHTYPECATALOG.ID
      where 
          (len(BATCHTYPECATALOG.AMOUNTCOLUMN) > 0)
          for xml raw('GRANTEDBATCHTEMPLATE'),root('GRANTEDBATCHTEMPLATES'));

    if (select top 1 1 from @GRANTEDBATCHTEMPLATEXML.nodes('/GRANTEDBATCHTEMPLATES/GRANTEDBATCHTEMPLATE') GRANTEDBATCHTEMPLATE(NODE)) = 1
    begin
      if @ISSYSADMIN = 1
      begin
        set @DISPLAYTOTALAMOUNT = 1
      end
      else
      begin
        declare @BATCHTEMPLATES table (
        VALUE uniqueidentifier,
        LABEL varchar(1000),
        GRANTED bit
        );

        insert into @BATCHTEMPLATES
        exec dbo.USP_SECURITY_APPUSER_GRANTED_BATCHPROCESSOR_BULK @GRANTEDBATCHTEMPLATEXML, @CURRENTAPPUSERID;

        select top 1
          @DISPLAYTOTALAMOUNT = 1 
        from @BATCHTEMPLATES
        where GRANTED = 1
        order by LABEL;
      end
    end

    set @CANCHANGEBATCHNUMBERS = dbo.UFN_SECURITY_APPUSER_GRANTED_CHANGEBATCHNUMBER(@CURRENTAPPUSERID, null);

    select @CANEDITFIELDOPTIONS = ISSYSADMIN from dbo.APPUSER where ID = @CURRENTAPPUSERID
    if @CANEDITFIELDOPTIONS = 0
      set @CANEDITFIELDOPTIONS = dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_IN_SYSTEMROLE(@CURRENTAPPUSERID, '9A1282EE-F666-47e9-BFB8-C3BEE852940F')

    return 0;