
####
Date
####


****
NAME
****


Kernel::System::SysConfig::ValueType::Date - System configuration date value type backed.


****************
PUBLIC INTERFACE
****************


new()
=====


Create an object. Do not use it directly, instead use:


.. code-block:: perl

     use Kernel::System::ObjectManager;
     local $Kernel::OM = Kernel::System::ObjectManager->new();
     my $ValueTypeObject = $Kernel::OM->Get('Kernel::System::SysConfig::ValueType::Date');



SettingEffectiveValueCheck()
============================


Check if provided EffectiveValue matches structure defined in XMLContentParsed.


.. code-block:: perl

     my %Result = $ValueTypeObject->SettingEffectiveValueCheck(
         XMLContentParsed => {                           # (required)
             Value => [
                 {
                     'Item' => [
                         {
                             'Content'   => '2016-01-01',
                             'ValueType' => 'Date',
                         },
                     ],
                 },
             ],
         },
         EffectiveValue => '2016-02-02',                 # (optional)
         UserID         => 1,                            # (required)
     );


Result:


.. code-block:: perl

     %Result = (
         EffectiveValue => '2016-02-03',                 # Note that EffectiveValue can be modified
         Success => 1,
         Error   => undef,
     );



SettingRender()
===============


Extracts the effective value from a XML parsed setting.


.. code-block:: perl

     my $SettingHTML = $ValueTypeObject->SettingRender(
         Name           => 'SettingName',
         EffectiveValue => '2016-02-02',     # (optional)
         DefaultValue   => 'Product 5',      # (optional)
         Class          => 'My class',       # (optional)
         RW             => 1,                # (optional) Allow editing. Default 0.
         Item           => [                 # (optional) XML parsed item
             {
                 'ValueType' => 'Date',
                 'Content' => '2016-02-02',
                 'ValueRegex' => '',
             },
         ],
         IsArray  => 1,                      # (optional) Item is part of the array
         IsHash   => 1,                      # (optional) Item is part of the hash
         IDSuffix => 1,                      # (optional) Suffix will be added to the element ID
         SkipEffectiveValueCheck => 1,       # (optional) If enabled, system will not perform effective value check.
                                             #            Default: 1.
         UserID                  => 1,       # (required) UserID
     );


Returns:


.. code-block:: perl

     $SettingHTML = '<div class "Field"...</div>';



AddItem()
=========


Generate HTML for new array/hash item.


.. code-block:: perl

     my $HTML = $ValueTypeObject->AddItem(
         Name           => 'SettingName',    (required) Name
         DefaultItem    => {                 (optional) DefaultItem hash, if available
             Content => '2017-01-01',
             ValueType => 'Date',
         },
         IDSuffix       => '_Array1',        (optional) IDSuffix is needed for arrays and hashes.
     );


Returns:


.. code-block:: perl

     $HTML = '<select class="Validate_DateMonth  Date" id="SettingName_Array1Month" ...';





