Quintiq file version 2.0
#parent: MatrixEditorSupplyPlanning
Response OnClick (
  shadow[PlanningCell] selection
) id:Response_MatrixEditorSupplyPlanning_MenuUnlock_OnClick
{
  #keys: '[146140.0.574527246]'
  DefinitionID => /Responsedef_MatrixEditorSupplyPlanning_WebMenu_OnClick
  GroupServerCalls: true
  Initiator: 'MenuUnlock'
  Precondition:
  [*
    pispip := selection.ProductInStockingPointInPeriodPlanning();
    pispips := construct( ProductInStockingPointInPeriods );
    pispips.Add( pispip );
    
    return not isnull( pispip ) and ProductInStockingPointInPeriod::CanLockUnlock( pispips, feedback );
  *]
  QuillAction
  {
    Body:
    [*
      // Unlock planning cell
      // call process.update depending in the selection is operation or trip cell
      
      pt := selection.PeriodTask_MP();
      if( isnull( pt ) )
      {
        pit := selection.ProductInTrip();
        pit.Update( pit.Quantity(), false );
      } 
      else 
      {
        pto := pt.astype( PeriodTaskOperation ); 
        pto.Update( pto.Quantity(), false );
      }
      
      pispip := selection.ProductInStockingPointInPeriodPlanning();
      PlanningCell::UnlockPISPIP( pispip, false );
    *]
  }
}
