<?php /** * CPMObjectEventHandler: MinimalContactHandler * Package: RN * Objects: Contact * Actions: Create, Update * Version: 1.2 * Purpose: Minimal CPM handler for contact create and update. */use \RightNow\Connect\v1_2 as RNCPHP;use \RightNow\CPM\v1 as RNCPM; /** * Handler class for CPM */class MinimalContactHandler implements RNCPM\ObjectEventHandler{ /** * Apply CPM logic to object. * @param int $runMode * @param int $action * @param object $contact * @param int $cycles */ public static function apply($runMode, $action, $contact, $cycle) { if ($cycle !== 0) return; if (RNCPM\ActionUpdate == $action) {$name = $contact->Name->First;$login= $contact->Login;$c_id = $contact->ID;$contacto2 = RNCPHP\Contact::fetch($c_id); $contact->Name->First = "CPM Update Test"; $contact->save(); } elseif (RNCPM\ActionCreate == $action) {$name = $contact->Name->First; $contact->Name->First = "CPM Create Test";$login= $contact->Login;$c_id = $contact->ID;$contacto2 = RNCPHP\Contact::fetch($c_id); $rut = $contacto2->CustomFields->c->rut; $contacto2->CustomFields->c->rut=$login;$contacto2->save(); $contact->save(); } } } /** * CPM test harness */class MinimalContactHandler_TestHarness implements RNCPM\ObjectEventHandler_TestHarness{ static $contactOneId = null, $contactTwoId = null; /** * Set up test cases. */ public static function setup() { // First test $contactOne = new RNCPHP\Contact; $contactOne->Name->First = "First"; $contactOne->save(); self::$contactOneId = $contactOne->ID; // Second test /*$contactTwo = new RNCPHP\Contact; $contactTwo->Name->First = "Second"; $contactTwo->save(); self::$contactTwoId = $contactTwo->ID;*/ } /** * Return the object that we want to test with. You could also return * an array of objects to test more than one variation of an object. * @param int $action * @param class $object_type * @return object | array */ public static function fetchObject($action, $object_type) { $contactOne = $object_type::fetch(self::$contactOneId); //$contactTwo = $object_type::fetch(self::$contactTwoId); //return array($contactOne, $contactTwo);return array($contactOne); } /** * Validate test cases * @param int $action * @param object $contact * @return bool */ public static function validate($action, $contact) { if (RNCPM\ActionUpdate == $action) { if (assert($contact->Name->First == "CPM Update Test")) { echo "Update test passed\n"; return true; } else { echo "Update test FAILED\n"; } } elseif (RNCPM\ActionCreate == $action) { if (assert($contact->Name->First == "CPM Create Test")) { echo "Create test passed\n"; return true; } else { echo "Create test FAILED\n"; } } else { echo "Invalid action"; } return false; } /** * Destroy every object created by this test. Not necessary since in * test mode and nothing is committed, but good practice if only to * document the side effects of this test. */ public static function cleanup() { if (self::$contactOneId) { $contactOne = RNCPHP\Contact::fetch(self::$contactOneId); $contactOne->destroy(); self::$contactOneId = null; } if (self::$contactTwoId) { $contactTwo = RNCPHP\Contact::fetch(self::$contactTwoId); $contactTwo->destroy(); self::$contactTwoId = null; } } } ?>
Publicar un comentario
0
Comentarios
Vistas a la página totales
DarkJonter.com Todos los derechos reservados. Con tecnología de Blogger.
Profesional que se desarrolla en las áreas informática, tecnológica, administrativas, auditoria, control, desarrollo, regida por los principios éticos profesionales, que sirven de base para una actuación integra, objetiva e independiente. Profesional con iniciativa, creatividad y autonomía, persistencia, liderazgo y trabajo en equipo, negociación y comunicación, capacidad analítica y conceptual, y un alto potencial de aprendizaje.
0 Comentarios