예제 #1
0
 public function testVisitAnOpenListShouldFallbackOnList()
 {
     $visitor = new Tracker_FormElement_View_Admin_Visitor(array());
     $formElement = new Tracker_FormElement_Field_OpenList(null, null, null, null, null, null, null, null, null, null, null, null);
     $formElement->accept($visitor);
     $this->assertIsA($visitor->getAdmin(), 'Tracker_FormElement_View_Admin_Field_List');
 }
 public function build(Tracker_FormElement_Field_OpenList $field, $type, array $permissions)
 {
     $this->field_id = JsonCast::toInt($field->getId());
     $this->name = $field->getName();
     $this->label = $field->getLabel();
     $this->hint = $field->getProperty('hint');
     if ($field instanceof Tracker_FormElement_Field) {
         $this->required = JsonCast::toBoolean($field->isRequired());
         $this->collapsed = false;
     } else {
         $this->required = false;
         $this->collapsed = (bool) $field->isCollapsed();
     }
     $this->default_value = $field->getDefaultRESTValue();
     $this->type = $type;
     $this->values = null;
     if ($field->getRESTAvailableValues()) {
         $this->values = $field->getRESTAvailableValues();
     }
     $bindings = $field->getSoapBindingProperties();
     $this->bindings = array(self::BIND_TYPE => $bindings[Tracker_FormElement_Field_List_Bind::SOAP_TYPE_KEY], self::BIND_LIST => array_map(function ($binding) {
         return array(Tracker_REST_FieldRepresentation::BIND_ID => $binding[Tracker_FormElement_Field_List_Bind_Users::SOAP_BINDING_LIST_ID], Tracker_REST_FieldRepresentation::BIND_LABEL => $binding[Tracker_FormElement_Field_List_Bind_Users::SOAP_BINDING_LIST_LABEL]);
     }, $bindings[Tracker_FormElement_Field_List_Bind::SOAP_LIST_KEY]));
     $this->permissions = array_map(function ($permission) {
         switch ($permission) {
             case Tracker_FormElement::SOAP_PERMISSION_READ:
                 return Tracker_REST_FieldRepresentation::PERM_READ;
             case Tracker_FormElement::SOAP_PERMISSION_UPDATE:
                 return Tracker_REST_FieldRepresentation::PERM_UPDATE;
             case Tracker_FormElement::SOAP_PERMISSION_SUBMIT:
                 return Tracker_REST_FieldRepresentation::PERM_CREATE;
         }
     }, $permissions);
 }
 public function itThrowsAnExceptionWhenReturningValueIndexedByFieldName()
 {
     $field = new Tracker_FormElement_Field_OpenList(1, 101, null, 'field_openlist', 'Field OpenList', '', 1, 'P', true, '', 1);
     $this->expectException('Tracker_FormElement_RESTValueByField_NotImplementedException');
     $value = 'some_value';
     $field->getFieldDataFromRESTValueByField($value);
 }
 public function getFullRESTValue(Tracker_FormElement_Field_OpenList $field)
 {
     return $field->getBind()->getFullRESTValue($this);
 }