Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login
    1. Home
    2. bmsoft
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 6
    • Groups 0

    bmsoft

    @bmsoft

    0
    Reputation
    388
    Profile views
    6
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online
    Website www.bmsoft.de

    bmsoft Unfollow Follow

    Latest posts made by bmsoft

    • API add-on bug with password CATG

      Hi,

      we are importing data to i-doit using API, now we need to use te password category (C__CATG__PASSWD) but the password attribute cannot be written.

      So if you try the api:

      • when you fetch data from i-doit you can read all the attributes including passwords (ciphered string)
      • when you try to add a password using api you get the following error:
      Internal error: There was an validation error [password: (password) Unable to retrieve corresponding validator for property type 'password']
      

      Also when you go to i-doit gui config to see "Categories and attributes" if you fetch data for password category you get this (password attribute doens't have "Data type (write)"):
      Screenshot 2019-05-23 at 11.15.10.png

      When we go deep into code to know the source of this problem we found two problems:

      • C__PROPERTY__INFO__TYPE__PASSWORD is not mapped in PropertyWriteEntityDefinition. We solved it adding the following code to src/classes/modules/api/src/Property/PropertyWriteEntityDefinition.php at line 88:
                  case C__PROPERTY__INFO__TYPE__PASSWORD:
                      $propertyEntity = new PropertyWriteEntity('Text', 'Example text value');
                      $propertyEntity->addDefinition('string', 'Valid string value with maximum 255 characters.', 'Example text value');
                      break;
      

      After that, if you check other time the attributes from passwords category at gui now password attribute have string as "Data type (write)":
      Screenshot 2019-05-23 at 11.13.51.png

      • C__PROPERTY__INFO__TYPE__PASSWORD is not mapped in PropertyValidationFactory. We solved it adding the following code to src/classes/modules/api/src/Validation/PropertyValidationFactory.php at line 46:
              C__PROPERTY__INFO__TYPE__PASSWORD       => Text::class,
      

      After that, we can use API to push passwords (ciphered) into i-doit. 🎉 🎉

      posted in Development bug module api pro open
      bmsoftB
      bmsoft
    • RE: QR-Codes

      @kelv1n , @langelange it's confusing because all the logic is present on i-doit except the render of qr codes in gui, but it is a pro feature. However, you can switch to barcodes in Administration > System settings > Tenantsettings.

      posted in Operating
      bmsoftB
      bmsoft
    • RE: Inconsistency errors by using API

      Hello,

      Finally we found how to solve the problem:
      https://kb.i-doit.com/display/en/Location+Cannot+Be+Saved

      We run this fix before and after import to prevent fail situations.

      posted in General
      bmsoftB
      bmsoft
    • Inconsistency errors by using API

      Hello,

      We have detected some inconsistency errors at Extras > CMDB > Export -> All objects by a selected location.

      Doing the same stuff (create objects and assign their location) by GUI and by API when we export as XML we cant fetch API created object because we receive the error ''There were no childs found for your selection!" and it is not correct. For GUI created objects works perfect.
      Also this becomes inconsistent if you then change relationships by hand at GUI between API and GUI created objects, as result we can got Root location as child of the API created object.

      Steps to reproduce:

      • Create a location object (A1) and assign it as children of Root location.
      • Create a object (A2) and assign it as children of previous object.
      • Do the same stuff by API, of course with different objects (B1 and B2).
      • Check export using A1 (GUI created). Success with expected result.
      • Check export using B1 (API created). Error ''There were no childs found for your selection!"
      • Assign B2 as children of A1
      • Check export using A1. Result contains objects: A1 (ok), A2 (ok), Root location (inconsistency error) and B2 (ok)
      posted in General
      bmsoftB
      bmsoft
    • Trouble Ticket System (TTS) config skips URL port

      Hello,

      We are using zammad at port 3000 and when we try to integrate this instance with i-doit. Investigating deeply about this problem we see that in constructor of class isys_connector_ticketing_zammad at $this->m_rt_base_url initialization is missed the port and i-doit won't make request to the correct url.

      We propose two ways to solve it:

      • Add port to rt base url:
          /**
           * Injects the used protocol and sets RT's base url.
           *
           * @param isys_protocol $p_protocol
           */
          public function __construct($p_protocol)
          {
              parent::__construct($p_protocol);
      
      
              $this->m_ticket_url_pattern = $this->m_protocol->get_base_url() . $this->m_ticket_url_pattern;
              $this->m_rt_base_url = $this->m_protocol->get_host() . ':' . $this->m_protocol->get_port() . $this->m_protocol->get_base_url();
              $this->m_protocol->attach_base_url($this->m_url_base);
          }
      
      • Change get_host method of class isys_protocol_http to add port to all implementations with this error (like all other connectors of TTS):
          /**
           * Returns the Host without any information
           */
          public function get_host()
          {
              return $this->m_protocol . "://" . $this->m_host . ':' . $this->m_port;
          }
      
      posted in Development
      bmsoftB
      bmsoft
    • Admin center 500 error on 1.12.2 clean install

      We have installed i-doit open 1.12.2 to test it, but we can't activate API Add-On because when loading Admin Center page PHP throws the following fatal error:

      Fatal error: Uncaught Error: Class 'idoit\Module\License\LicenseServiceFactory' not found in C:\Users\user\AppData\Local\Programs\xampp\htdocs\idoit112\admin\index.php:139 Stack trace: #0 {main} thrown in C:\Users\user\AppData\Local\Programs\xampp\htdocs\idoit112\admin\index.php on line 139
      
      posted in Operating
      bmsoftB
      bmsoft