예제 #1
0
파일: Redirect.py 프로젝트: poses/erp5
        """
      Updates all sources and destinations to new values defined 
      in self by mapping 
        source -> target_source
        destination -> target_destination
        source_section -> target_source_section
        destination_section -> target_destination_section
    """
        for p in ('source', 'destination'):
            for q in ('source', 'destination'):
                if simulation_movement.getProperty(p) == getattr(self, q):
                    self.setProperty(p, getattr(self, 'target_%s' % q))
                    break
        for p in ('source_section', 'destination_section'):
            for q in ('source_section', 'destination_section'):
                if simulation_movement.getProperty(p) == getattr(self, q):
                    self.setProperty(p, getattr(self, 'target_%s' % q))
                    break
        delivery_value = simulation_movement.getDeliveryValue(
        )  # Get delivery movement
        if delivery_value is not None:
            delivery_value = delivery_value.getDeliveryValue(
            )  # Get root delivery
            if delivery_value is not None:
                delivery_value.activate(
                    after_method_id='propagateResourceToSimulation'
                ).updateFromSimulation()


registerTargetSolver(Redirect)
예제 #2
0
파일: Redirect.py 프로젝트: joseanm/erp5
    Redirects all simulation movements to new target
  """

    def solve(self, simulation_movement, new_target):
        """
      Updates all sources and destinations to new values defined 
      in self by mapping 
        source -> target_source
        destination -> target_destination
        source_section -> target_source_section
        destination_section -> target_destination_section
    """
        for p in ("source", "destination"):
            for q in ("source", "destination"):
                if simulation_movement.getProperty(p) == getattr(self, q):
                    self.setProperty(p, getattr(self, "target_%s" % q))
                    break
        for p in ("source_section", "destination_section"):
            for q in ("source_section", "destination_section"):
                if simulation_movement.getProperty(p) == getattr(self, q):
                    self.setProperty(p, getattr(self, "target_%s" % q))
                    break
        delivery_value = simulation_movement.getDeliveryValue()  # Get delivery movement
        if delivery_value is not None:
            delivery_value = delivery_value.getDeliveryValue()  # Get root delivery
            if delivery_value is not None:
                delivery_value.activate(after_method_id="propagateResourceToSimulation").updateFromSimulation()


registerTargetSolver(Redirect)
예제 #3
0
파일: Defer.py 프로젝트: zamananjum0/erp5
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
#
##############################################################################

from Products.ERP5.Tool.SimulationTool import registerTargetSolver
from TargetSolver import TargetSolver


class Defer(TargetSolver):
    """
    Split and defer simulation movement.

    Many 'deliverable movements' are created in the Simulation and
    may need to be delivered later. Solver accumulates such movements
    in the solving process and creates a new delivery
  """
    def solve(self, movement):
        """
      Split a movement and accumulate
    """

    def close(self):
        """
      After resolution has taken place,  create a new delivery
      with deliverable split movements.
    """


registerTargetSolver(Defer)
예제 #4
0
파일: Defer.py 프로젝트: MarkTang/erp5
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
#
##############################################################################


from Products.ERP5.Tool.SimulationTool import registerTargetSolver
from TargetSolver import TargetSolver

class Defer(TargetSolver):
  """
    Split and defer simulation movement.

    Many 'deliverable movements' are created in the Simulation and
    may need to be delivered later. Solver accumulates such movements
    in the solving process and creates a new delivery
  """

  def solve(self, movement):
    """
      Split a movement and accumulate
    """

  def close(self):
    """
      After resolution has taken place,  create a new delivery
      with deliverable split movements.
    """

registerTargetSolver(Defer)