<?php /** * Enterprise WeChat Webhook Helper Class */ class WebhookHelper { /** * Generate payload for TTO timeout alert * @param DBObject $oObject The object that triggered the action * @param array $aContextArgs Context parameters * @param EventNotification $oLog Log object * @param ActionWebhook $oAction Webhook action * @return array JSON payload with replaced variables */ public static function GenerateTTOAlert(DBObject $oObject, array $aContextArgs, EventNotification $oLog, ActionWebhook $oAction)...
Thank you for the details. Where is the GenerateTTOAlert function in the webhookhelper class ?
Thank you for your reply.I have created two files in the itop/extensions/webhook_helper directory: one is main.php, and the other is webhookhelper.class.inc.php. 1.main.php 'Webhook Helper', 'description' => 'Generates dynamic payloads for enterprise WeChat webhooks', 'version' => '1.0.0', 'author' => 'Admin', 'license' => 'MIT', ); } public function ListAPIClasses() { return array( 'WebhookHelper' => 'webhookhelper.class.inc.php', ); } } ?> webhookhelper.class.inc.php Get('ref'); $title = $ticket->Get('title');...
Hello, can you send the code of GenerateTTOAlert ? This error means you can't call it, it can be for several reasons, wrong visibility, wrong name, etc
Dear friends, could you please advise on how to handle this? I added a webhook using the Prepare payload callback \WebhookHelper::GenerateTTOAlert, but an error occurred: Error: The callback '\WebhookHelper::GenerateTTOAlert' is not valid.
@evuffelen indeed you'll do the XML changes in an extension :)
Hey @rezasr and @evuffelen, This is documented on our wiki page : https://www.itophub.io/wiki/page?id=latest:customization:service-heritage Please that you need to do every XML customization except maybe the portal, the SLT and/or the windows coverage one.
I have the same issue. Is there a solution (an extension) described somewhere?
Hello @naveen-steigen, Thanks for creating this thread. I'll have a look at it, try to reproduce it (to know if this comes from iTop or a server config) and keep you updated.
I have created Custom Class and linked it UserRequest Class <class id="user-content-NetworkAccess" _delta="define"> <parent>cmdbAbstractObject</parent> <properties> <category>bizmodel,searchable,structure</category> <abstract>false</abstract> <key_type>autoincrement</key_type> <db_table>network_access</db_table> <db_key_field>id</db_key_field> <db_final_class_field>finalclass</db_final_class_field></properties></class> <display_template/> <icon/> </properties> <fields> <field id="userrequest_id"...
If anyone else has seen similar behavior or has ideas on what to check next, I’d appreciate any suggestions. @cisou Thanks,
It seems your nodes are not correctly nested. The bricks for instance should not be under a "profiles" node, etc.
Hi Jeffrey Bostoen, Thanks for your reply. Here's the complete XML file. I'm still having the same problem. I've also seen that it's possible to create a custom portal, but I don't understand if that would mean creating a new portal or modifying an existing one. I apologize if the message isn't clear; I'm using Google Translate. Thank you very much. Version 3.1.1-1-12561 <?xml version="1.0" encoding="UTF-8"?> <itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0"> <profiles>...
Hi Jeffrey Bostoen, Thanks for your reply. Here's the complete XML file. I'm still having the same problem. I've also seen that it's possible to create a custom portal, but I don't understand if that would mean creating a new portal or modifying an existing one. I apologize if the message isn't clear; I'm using Google Translate. Thank you very much. <?xml version="1.0" encoding="UTF-8"?> <itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0"> <profiles> <profile id="2" _delta="define">...
Are there known issues related to the ExpressionCache? While working on a new collector, I ran into occasional HTTP 500 errors. Cross-referencing them with Apache error logs, it always seems to be related to "language" files (with the language varying, and the error usually being about an unclosed parenthesis at line 7 -- but sometimes this also varies: [Tue Dec 23 08:51:38.816628 2025] [php:error] [pid 51938] [client 127.0.0.1:39692] PHP Parse error: Unclosed '(' on line 7 in /var/www/0001/diensten/data/cache-production/expressioncache/expressioncache-ENGB.php...
Are there known issues related to the ExpressionCache? While working on a new collector, I ran into occasional HTTP 500 errors. Cross-referencing them with Apache error logs, it always seems to be related to "language" files (with the language varying, and the error usually being about an unclosed parenthesis at line 7 -- but sometimes this also varies: [Tue Dec 23 08:51:38.816628 2025] [php:error] [pid 51938] [client 127.0.0.1:39692] PHP Parse error: Unclosed '(' on line 7 in /var/www/0001/diensten/data/cache-production/expressioncache/expressioncache-ENGB.php...
Can you pase the correct XML, please? ( SourceForge may have messed up your formatting ).
Hi, in the docs on OpenID Authentication both define "default_profile" and "default_profiles" are defined and there are also examples of "default_profiles" being defined as an array with multiple entries (which the name suggests anyway). But trying to get it working with Keycloak did not work. You suggested this is a specific limitation for Keycloak but not other providers, but why is that the case? It depends on no information provided by Keycloak...?
Hm, rather than to define the entire class; you should ideally add a "dependency" (see module.xxx.php - "dependencies") to the module in which the original user request is defined. ( Probably itop-request-mgmt/3.2.0 or itop-request-mgmt-itil.3.2.0 ) . The XML format seems a bit messed up above; I hope your "class" node is within "classes"? And "classes" within "itop_design"?
The extension was installed sucessfully, but it seems is not working:
Most probably your extension is not installed, because that statement should crash iTop setup with a blocking error <class id="UserRequest" _delta="define"> Check you module dependencies, it must be depends on itop-request-mgmt or itop-request-mgmt-itil. Check the XML reference for delta values and where to put them. On existing XML nodes, you should never set a "define", only on new XML nodes you must do this
I have iTOP 3.2 Community version
This is the profile section: <user_rights> <profiles></profiles></user_rights> <!-- Service Desk Agent --> <profile id="4" _delta="define"> <groups> <group id="UserRequest"> <actions> <action id="stimulus:ev_reject">allow</action> </actions> </group> </groups> </profile> <!-- Support Agent --> <profile id="5" _delta="define"> <groups> <group id="UserRequest"> <actions> <action id="stimulus:ev_reject">allow</action> </actions> </group> </groups> </profile> </profiles>
Hi There! I have some questions about a customization I'm trying to implement. Initially, I created a reject function for the Service Desk Agent and Support Agent roles. These roles had a reject button and required users to enter a comment explaining the reason for the rejection. I implemented this directly in the iTOP core, and it worked perfectly. The problem is that when I tried to update, I received errors due to "corrupted" files (the XML files had been modified). I restored the original files...
Hi Dave, Thanks for the report, I have created an issue in our internal bug tracker (N°9015) I'll try to find some time to test your solution, there's probably some rules form our maximize CSS plugin that cause the issue
Hi all, We would like to warmly thank our contributors to Hacktoberfest: * @ritoban23 * @favincen * @ozan-cristan * @odain-cbd * @Hipska * @ekotriono And congrats to our winner @hipska with 4 merged PRs!! See you next year to celebrate the open source and iTop!
Good morning. I've been trying for a while to remove the "New Requirements" button from the portal for profile 2, but I haven't been able to. I created the following configuration in a new extension, which installed without problems, but I still couldn't get the button to disappear. If anyone can help me, thank you very much. ` <itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0"> </itop_design> <profiles> <profile id="2" _delta="define"> <classes> <class id="UserRequest">...
Hello, could you please help to configure the ITOP to use this product for Incident and change management
Hi Tim, Thank you for checking. Just to clarify, we are also using iTop version 3.2.1-1. Even on this version, we’re able to reproduce the issue by reusing the same session cookie via Burp Suite after logout to: download attachments using API access REST/JSON API endpoints The UI logout works as expected, but the server-side session appears to remain valid until cookie expiration. Please let me know if you need any specific reproduction steps. Thanks again for your help.
Hi Tim, Thank you for checking. On our side, we’re able to reproduce this consistently using Burp Suite. After logging out, the same session cookie can still be reused via Burp to: download attachments using API access REST/JSON API endpoints The UI logout works as expected, but the server-side session appears to remain valid until cookie expiration. Please let me know if you need any specific reproduction steps. Thanks again for your help.
I am unable to replicate this beviour on our instance running iTop version 3.2.1-1 I have only tested "download attachments directly"
Follow-up Hi everyone, Just checking back on this issue to see if anyone has encountered something similar. To clarify, after clicking Logout, the UI redirects correctly, but the existing session cookie remains valid and can still be reused to: download attachments directly access REST/JSON API endpoints It looks like the server-side session is not being destroyed (e.g. session_destroy() not taking effect), and the cookie continues to work until it expires. Has anyone found a workaround, configuration...
Thank you Vincent for your response. The problem with your proposal is, that you can optimizte it further into SELECT XXXX_Proceeding, but then there ist no link left to the person, that have a role in the proceeding.
Booth query in the UNION must return the same number of class. SELECT XXXX_Proceeding AS v JOIN lnkPersonToProceeding AS l ON l.proceeding_id = v.id JOIN Person AS p ON l.person_id = p.id UNION SELECT XXXX_Proceeding WHERE id NOT IN ( SELECT v FROM XXXX_Proceeding AS v JOIN lnkPersonToProceeding AS l ON l.proceeding_id = v.id )
Booth query in the UNION must return the same number of class. SELECT XXXX_Proceeding AS v JOIN lnkPersonToProceeding AS l ON l.proceeding_id = v.id JOIN Person AS p ON l.person_id = p.id UNION SELECT XXXX_Proceeding WHERE id NOT IN ( SELECT v FROM XXXX_Proceeding AS v JOIN lnkPersonToProceeding AS l ON l.proceeding_id = v.id )
Hi there, hope you have some hints on this topic. I have a custom object for proceeding named XXXX_Proceeding. These proceedings are linked to Person and the following OQL statement does what it should: SELECT v, p FROM XXXX_Proceeding AS v JOIN lnkPersonToProceeding AS l ON l.proceeding_id = v.id JOIN Person AS p ON l.person_id = p.id So far, so good. Unfortunately the proceedings not linked to a person are not listed (a LEFT JOIN would do it, if implemented). So I tried different approaches and...
Bug: ckeditor5 TableTolbar in Fullscreen
okay i figured this out... sudo systemctl reload php-fpm that was it the whole time flushing the php-fpm cahce.. I though i did this in my script but i overlooked it. This works now. Thanks
okay i figured this out... sudo systemctl reload php-fpm that was it the whole time flushing the php-fpm cahce.. I though i did this in my script but i overlooked it. This works now. Thanks
When updating my extension using the http://<host>/setup/wizard.php method. It works all the time. </host> When try using the following command sudo -u apache /usr/bin/php /var/www/html/itop/setup/unattended-install/unattended-install.php --param-file=answer-file.txt --use_itop_config I get this output when running the command mentioned. Modules to install listed in itop_backup_config.xml (selected_modules section): authent-cas,authent-external,authent-ldap,authent-local,authent-token,combodo-backoffice-darkmoon-theme,combodo-backoffice-fullmoon-high-contrast-theme,combodo-backoffice-fullmoon-protanopia-deuteranopia-theme,combodo-backoffice-fullmoon-tritanopia-theme,combodo-db-tools,combodo-my-account,combodo-my-account-user-info,combodo-oauth2-client,combodo-password-expiration,combodo-webhook-integration,itop-attachments,itop-attribute-class-set,itop-attribute-encrypted-password,itop-backup,itop-bridge-cmdb-services,itop-bridge-cmdb-ticket,itop-bridge-datacenter-mgmt-services,itop-bridge-endusers-devices-services,itop-bridge-storage-mgmt-services,itop-bridge-virtualization-mgmt-services,itop-bridge-virtualization-storage,itop-test,itop-change-mgmt,itop-config,itop-config-mgmt,itop-core-update,itop-datacenter-mgmt,itop-endusers-devices,itop-files-information,itop-hub-connector,itop-oauth-client,itop-portal,itop-portal-base,itop-profiles-itil,itop-request-mgmt,itop-service-mgmt,itop-sla-computation,itop-storage-mgmt,itop-structure,itop-themes-compat,itop-tickets,itop-virtualization-mgmt,itop-welcome-itil...
When updating my extension using the http://<host>/setup/wizard.php method. It works all the time. </host> When try using the following command sudo -u apache /usr/bin/php /var/www/html/itop/setup/unattended-install/unattended-install.php --param-file=answer-file.txt --use_itop_config I get this output when running the command mentioned. Modules to install listed in itop_backup_config.xml (selected_modules section): authent-cas,authent-external,authent-ldap,authent-local,authent-token,combodo-backoffice-darkmoon-theme,combodo-backoffice-fullmoon-high-contrast-theme,combodo-backoffice-fullmoon-protanopia-deuteranopia-theme,combodo-backoffice-fullmoon-tritanopia-theme,combodo-db-tools,combodo-my-account,combodo-my-account-user-info,combodo-oauth2-client,combodo-password-expiration,combodo-webhook-integration,itop-attachments,itop-attribute-class-set,itop-attribute-encrypted-password,itop-backup,itop-bridge-cmdb-services,itop-bridge-cmdb-ticket,itop-bridge-datacenter-mgmt-services,itop-bridge-endusers-devices-services,itop-bridge-storage-mgmt-services,itop-bridge-virtualization-mgmt-services,itop-bridge-virtualization-storage,itop-test,itop-change-mgmt,itop-config,itop-config-mgmt,itop-core-update,itop-datacenter-mgmt,itop-endusers-devices,itop-files-information,itop-hub-connector,itop-oauth-client,itop-portal,itop-portal-base,itop-profiles-itil,itop-request-mgmt,itop-service-mgmt,itop-sla-computation,itop-storage-mgmt,itop-structure,itop-themes-compat,itop-tickets,itop-virtualization-mgmt,itop-welcome-itil...
The question isn't very clear. Do you mean create custom extensions? You should check if your extensions folder is copied under "env-production" after going through the setup wizard. If it's present - the issue will be in your extension (probably datamodel XML) .
The question isn't very clear. Do you mean create custom extensions? You should check if your extensions folder is copied under "env-production" after going through the setup wizard. If it's present - the issue will be in your extension (probaby datamodel XML).
Hello Franco, could you please detail your issue? how do you use the unattended CLI? what is the XML provided? what is the output of this script? BR, Olivier
Hello Has anybody manage to automate their custom extensions? The goal that every time i want to extend the data, it gets auto updated in itop. I have a xml using the unattended php and even though it says "installed" i dont see my module updated in the gui even after removing env-production. I only see this working correctly using the wizard.php gui I don't mind using toolkit but I dont know if it acually updates the extensions permanent or not and its purpose is for testing the extension.
Hello Has anybody manage to automate their custom extensions? The goal that every time i want to extend the data, it get auto updated in itop. I have a xml using the unattended php and even though it says "installed" i dont see my module updated in the gui even after removing env-production. I only see this working correctly using the wizard.php gui I don't mind using toolkit but I dont know if it acually updates the extensions permanent or not and its purpose is for testing the extension.
Hello Has anybody manage to automate their custom extensions? I have a xml using the unattended php and even though it says "installed" i dont see my module updated in the gui even after removing env-production. I only see this working correctly using the wizard.php gui I don't mind using toolkit but I dont know if it acually updates the extensions permanent or not and its purpose is for testing the extension.
Hey, sorry for the delay, i must re-activate a new github. I've not played with since couple of years. You can find it here : https://github.com/zorille/itop Look for https://github.com/zorille/itop/tree/main/Saas/ComposantSaas It, normally, autonomous from others. Don't hesitate for feedback or question ;) ++
I keep getting the following errors when running the VSphere collector. Anyone have any ideas? Thanks [2025-12-08 15:57:29] [Info] Processing '/var/www/html/itopprod32/extensions/combodo-data-collector-for-vsphere//data/vSphereVirtualMachineCollector.raw-1.csv'... [2025-12-08 15:57:29] [Debug] Converting '/var/www/html/itopprod32/extensions/combodo-data-collector-for-vsphere//data/vSphereVirtualMachineCollector.raw-1.csv' to '/var/www/html/itopprod32/extensions/combodo-data-collector-for-vsphere//data/vSphereVirtualMachineCollector-1.csv'......
Hi everyone, I’m running into an issue with iTop where user logout does not fully invalidate the session. Even after a successful logout, the same session cookie can still be used to: download attachments access API endpoints call web services It seems the server-side session isn’t being destroyed, and the cookie remains valid until it naturally expires. Has anyone experienced this or found a fix? Any guidance would be appreciated. Thanks!
Hey, it sounds nice :) is it available on GitHub ?
Hello community, i've been created a new plugin to manage my SAAS applications, tokens and interactions. I added some screen captures. New CIs : SAAS Provider SAAS Application SAAS Interaction SAAS Token Regards,
Hint: Take a look at data/datamodel-production.xml . You need consistent names. For instance, you'd need to define the actual real ID of an existing class. Field IDs: for consistency, I just advise to keep them in English - and then just add a translation.
Hello, so this filter is working but i must declare a dependencies on the field. SELECT Type AS t JOIN Organization AS root ON t.org_id=root.id JOIN Organization AS child ON child.parent_id BELOW root.id WHERE child.id = $this->org_id <dependencies> <attribute id="org_id"/> </dependencies>
Hello for those still interested, i could achieve this by modifying "collectors/src/iTopUserLDAPCollector.class.inc.php" (Prepare function only) with something like this : $aValues['allowed_org_list'] = "allowed_org_id->name:".$this->aUserDefaults['allowed_org_list'].";userid->login:".$aPerson['samaccountname'][0]; ... and skipping beforehand the initialisation of allowed_org_list as it is already done for profile_list: if ($sFieldCode == 'allowed_org_list') continue; with this in the user_defaults...
Hello, I tried to follow the tutorial to add a new field on a class. I added the field "criticidad" to the class Change. The new field is displayed on iTop datamodel viewer. I edited the datamodel.xxxxxx.xml but the toolkit didn't detect any change on the DB. Also tried putting all of the part of the datamodel.itop-change-mgmt.xml on my extension xml and adding the item criticidad with the redefine delta (like the tutorial explains). I don't know what I'm doing wrong. Someone can help me? Thanks....
Hmm, we have yet to Archive anything , and have not activated archive mode.
So they're listed with the "eye" icon - any chance those items were archived?
Hi I seem to have developed a referential integrity issue in on of our iTop instances. Cleaning up old CI records specifically VirtualMachines and VirtualHosts that have been decomissioned a long time ago. Was able through the UI delete the VirtualMachines and unhook them from tickets etc. When trying to delete the VirtualHost a number of VirtualMachines are listed as as must be deleted manually *"Virtual Machine RCT-DMZ-PTM Must be deleted manually, but this is not feasible: VirtualMachine::958...
And updated version - now using iTop's "new" portal for iTop 3.2 LTS:
Will check then code, I was (niavely ;-) assuming such a public method was directly. I have an alternate place to stand that can call back using full API core/create etc... so will go down that path rather than additional model customization.
Decrease the amount of the number of fields. More subcategories is the right way
Finalllllllly IT WORKS:)
I found the issue : hybrid vs. hybridauth : ( But I got an error from keycloak : Invalid parameter: redirect_uri I've put this: http://itopbaseurl/env-production/combodo-hybridauth/landing.php
Mind that the callback should be a PHP method that is already defined on the iTop object ($this). So you'd need to either extend the iTop object first (or call a static method on a different object instead) which processes the response, and adds the log entry to the ticket. ( Additionally - be careful not to end up in a loop where the trigger gets called again after updating the log.)
iTOP 3.2.1 Auth : 1.3 (xx.03.2025) I see the ext in /env-production
Which version of Combodo's Hybrid Auth extension are you using?
Hi , I need some help with hybridauth (openid) I've modified the conf file, but the new login method does not appear :(: Could you please help me? <-- thx in advance 'allowed_login_types' => array ( '0' => 'hybridauth-Keycloak', '1' => 'form', '2' => 'basic', '3' => 'external', ), i've tried this either: 'allowed_login_types' => 'hybrid-Keycloak|form|external|basic|token' 'combodo-hybridauth' => array ( 'debug' => false, 'synchronize_user' => true, 'synchronize_contact' => true, 'default_organization'...
Hi , I need some help with hybridauth (openid) I've modified the conf file, but the new login method does not appear :(: Could you please help me? <-- thx in advance 'allowed_login_types' => array ( '0' => 'hybridauth-Keycloak', '1' => 'form', '2' => 'basic', '3' => 'external', ), 'combodo-hybridauth' => array ( 'debug' => false, 'synchronize_user' => true, 'synchronize_contact' => true, 'default_organization' => 'Demo', 'default_profile' => 'Portal User', 'providers' => array ( 'Keycloak' => array...
Hi After calling a webhook, I am trying to workout how to update the Public log with the Process response callback. The help text says "- From the triggering object itself (eg. UserRequest), must be public. Example: $this->XXX But after some time, I can't work out how what to call to achieve this. I was expecting something like $this->UpdateTicketLog Thanks
Hi Johan, I personaly prefer to store SLA into a custom field dedicated to this. You can add a new custom attribute to the right class for your need. In you example the VirtualMachine Class might be good but you might think your SLA is better on a parent class, for exemple FunctionalCI, as herited class like VirtualMachine will benefit from the new SLA attribute. Then, you might want to make this new attribute a new Typology herited class, as you might want to edit/add new SLA values without having...
Whaaa ! thanks for this, for sure i will test it ! great news
Same is the case with 3.2.1 as well. Am i missing any extension?
Installation Failing
Any recommandations ?
Do you think it's because the org_id of my Ticket class is from a parent class ? <class id="CD_UserRequest" _delta="define"> <parent>CD_Ticket</parent> the org_id field is defined in CD_Ticket
Hello Vincent, Oups it's a small typo, this is the correct field on the Ticket : <field id="org_id" xsi:type="AttributeExternalKey"> <filter><![CDATA[SELECT Organization AS org JOIN Location AS loc ON loc.org_id=org.id WHERE loc.id=:this->location_id]]></filter> <sql>org_id</sql> <target_class>Organization</target_class> <is_null_allowed>false</is_null_allowed> <on_target_delete>DEL_AUTO</on_target_delete> <allow_target_creation>false</allow_target_creation> <dependencies> <attribute id="location_id"/>...
When i post the message the field id is changed, the correct field id is : org_id
Hello Vincent, Oups it's a small typo, this is the correct field on the Ticket : <field id="user-content-org_id" xsi:type="AttributeExternalKey"> <filter><![CDATA[SELECT Organization AS org JOIN Location AS loc ON loc.org_id=org.id WHERE loc.id=:this->location_id]]></filter> <sql>org_id</sql> <target_class>Organization</target_class> <is_null_allowed>false</is_null_allowed> <on_target_delete>DEL_AUTO</on_target_delete> <allow_target_creation>false</allow_target_creation> <dependencies> <attribute...
Should the Typology be based on the "org_id" or "user-content-org_id"? In the second case, you must change the filter to reference the second field child.id = :this->org_id child.id = :this->user-content-org_id
yes, This is how i define the org on the Ticket : <field id="user-content-org_id" xsi:type="AttributeExternalKey"> <filter><![CDATA[SELECT Organization AS org JOIN Location AS loc ON loc.org_id=org.id WHERE loc.id=:this->location_id]]></filter></field> So when i open the creation form, i need to select a Location, then the org from the location populate the Org field. and my field type are like this : <field id="ticketType_id" xsi:type="AttributeExternalKey"> <filter> <![CDATA[SELECT CD_TicketType...
Have you selected a Customer, before opening the drop-down field Type ?
Thank you, i've try, It's working in the run query menu and when i edit an already existing "Ticket". But when i try to create a new one, nothing is shown in the field select Type :/
The option 4 should do the work.
So. Org : A (parent) - B (child) C (other parent) Type : - TOTO (linked to A org) - TITI (linked to A org) - TATA (linked to C org) - TUTU (linked to C org) The user connected (can see every org) can create a "Ticket" (custom class) On the creation form, we select the org of the ticket, we select B. With the org B selected i would like to see only the Type linked to A And if we create a "Ticket" linked to org C i would like to see only the Type linked to C Is it better ? :)
Yes, there are many fields. When I started working in this area, the volume was already that high in the access subcategory. Do you have any idea how I can improve performance in this subcategory?
Hi, i'm curious of how itop users manage their internal SLA inside itop CMDB ? For example, we have defined SLA for servers (GOLD / SILVER / BRONZE). The SLA defines some SLA for our backup solution and other tools Initialy we have made three application solution GOLD / SILVER / BRONZE but it's not the best because it makes dependency graph unreadable and complex How do you modelize this inside itop? if any of you have an example it will be great :) thanks
Express your need more clearly? Do you want to restrict the proposed typology, based on 1. a User Profile 2. Particular Customers 3. Particular Service or Service-subcategories 4. The requestor organization and its parent(s) If you have no clear rule to decide when to limit the proposed typology to those of the customer, versus all the typology, then the only possible filter I can think of, is to always propose the ticket requestor organization owned Types and all the generic Types defined on the...
@cisou Could you help me with the request, because the problem is that the selected org is not the same as the typo org. The org inside my class is a child or of the main org, where my typo are linked. ORG_parent (all my typo are linked here Child_org (my "Ticket are linked to this) So i think it will be hard with the filter : <filter><![CDATA[SELECT Type WHERE org_id = $this->org_id]]></filter> in the filter we cannot have php code ? Maybe with a method PrefillCreationForm ?
Hi Vincent, thank you for your answer. I think i'll put a filter on the field where i need to get specific Typology linked to org.
The quickest way: you can just add your own roles here by clicking on the plus sign.
Hello iTop Community, I am trying to add a "Person" to a "Team" but the "Role" dropdown field is completely empty, preventing me from completing the operation. Context: 1. I go to a Team's page (e.g., "Suporte N1"). 2. I click to add a new member ("Add a Pessoa"). 3. In the pop-up window, the "Role" field dropdown shows only "select one" and is empty. What I have checked: * I have verified that Profiles exist under the "Admin Tools" section (e.g., Service Desk Agent, Configuration Manager, etc.)....
I've found then. Thanks !
"Hi Jeffrey, I'd like to be able to create, list, and edit persons, just as I can do with users or organizations. I am an MSP that provides services for many organizations across my city, so I don't sync with LDAP."
What do you mean by "manage"? You want them to be created automatically instead? You can download and install the (free) LDAP collector, or the Graph Collector to automatically create users for your Active Directory users or Microsoft Entra users.
I must say - I'm curious how you get to 700 fields :o
Hi there, I'm testing iTop and trying to understand how to adapt it to my company, but I've searched for where I can manage persons, and I couldn't find it. The only way I could find contacts was by creating a user and clicking on the plus icon Where can I manage persons?