Développement

Intégration OTRS et VtigerCRM

2

OTRS est le helpdesk que nous utilisons chez Gestion medsécure, il est libre, très personnalisable. Il permet notamment d’avoir plusieurs sources de données de contact et comme l’essentiel de nos contacts se retrouvent dans vtiger CRM, comme il existe peu d’information sur l’intégration entre les deux solutions, j’ai décidé de faire quelques billets sur l’intégration entre les deux produits.

Donc, voici le premier: Comment utiliser les informations contacts de vtiger dans OTRS (Cette solution fonctionne sans vue, par contre l’informations n’est pas complète, une vue doit être créer pour avoir l’ensemble des informations clients, mais ça fera l’objet d’un billet futur). Cette déclaration de CustomerUser doit se retrouver dans votre configuration OTRS et les variables DB_VTIGER, SERVEUR_VTIGER, VTIGER_USER_RO et VTIGER_PASSWD_RO doivent être adaptés en fonction de votre environnement.

    $Self->{CustomerUser} = {
        Name   => 'VTiger CRM',
        Module => 'Kernel::System::CustomerUser::DB',
        Params => {
            DSN => 'DBI:mysql:database=DB_VTIGER;host=SERVEUR_VTIGER',
            User => 'VTIGER_USER_RO',
            Password => 'VTIGER_PASSWD_RO',
            Table => 'vtiger_contactdetails',
            CaseSensitive => 0,
        },

        CustomerKey => 'email',

        CustomerID             => 'accountid',
        CustomerUserListFields => [ 'firstname', 'lastname', 'email' ],

        CustomerUserSearchFields           => [ 'firstname', 'lastname', 'email'],
        CustomerUserSearchPrefix           => '*',
        CustomerUserSearchSuffix           => '*',
        CustomerUserSearchListLimit        => 250,
        CustomerUserPostMasterSearchFields => ['email'],
        CustomerUserNameFields     => [ 'title', 'firstname', 'lastname' ],
        CustomerUserEmailUniqCheck => 1,

        CustomerUserExcludePrimaryCustomerID => 0,
        CustomerCompanySupport => 1,
        ReadOnly => 1,
        Map => [
        Map => [
            [ 'UserTitle',      'Title',      'title',      1, 0, 'var', '', 0 ],
            [ 'UserFirstname',  'Firstname',  'firstname', 1, 1, 'var', '', 0 ],
            [ 'UserLastname',   'Lastname',   'lastname',  1, 1, 'var', '', 0 ],
            [ 'UserLogin',      'Username',   'email',      1, 1, 'var', '', 0 ],
            [ 'UserEmail',      'Email', 'email',           1, 1, 'var', '$Env{"CGIHandle"}?Action=AgentTicketCompose&ResponseID=1&TicketID=$Data{"TicketID"}&ArticleID=$Data{"ArticleID"}', 0 ],
            [ 'UserCustomerID', 'CustomerID', 'accountid', 0, 1, 'var', '', 0 ],
           [ 'UserCompanyID',  'CompanyID',  'accountid',  0, 1, 'var', '', 0 ],
            [ 'UserPhone',        'Phone',       'phone',        1, 0, 'var', '', 0 ],
            [ 'UserFax',          'Fax',         'fax',          1, 0, 'var', '', 0 ],
            [ 'UserMobile',       'Mobile',      'mobile',       1, 0, 'var', '', 0 ],
        ],
        },
    };

Maintenant les informations de vtiger devrait s’afficher dans les champs clients lors de la réception d’une nouvelle demande.

Partager-mes-fichiers.com

0

Implanté un nouveau service en ligne de téléchargement de fichiers (partager-mes-fichiers.com) durant le week-end. Projet sympa. Peu de détails encore car en béta pour les prochaines semaines. Contactez gestion medsécure si vous cherchez une solution de partage de document en ligne utilisant des clé d’accès avec limite de temps pour votre entreprise.

Numérotation automatique des figures (jquery + css2)

1

L’un des objectifs de wikihelp est de rendre plus facile la rédaction de procédure et l’un des éléments qui est souvent requis dans l’élaboration de procédure est la numérotation des figures et des images. D’une façon similaire à la numérotation des titres, nous avons décider d’automatiser celle des images (intégré dans la révision 323 de wikihelp). Comme je trouve le concept intéressant, voici le comment :

/* Pour initialiser le compteur (dans un style parent)
counter-reset: figure
*/
div.caption {
	border: 1px solid #DDD;
	text-align:center;
	margin: 0px 40px 40px;
	padding: 5px;
}

div.caption p {
	font-style:italic;
	font-weight:bold;
    counter-increment: figure;
}

div.caption p:before {
    content: "Figure " counter(figure) " - "
}

Ainsi que le code jquery correspondant qui identifie les images, les places dans le div caption, ajoute le paragraphe avec le titre. La mention figure – X est géré par le volet CSS et non du coté javascript.

$("#img").each(function(){
    var image = $(this);
    image.wrap("<div class='caption'></div>");
    var div = $(this).parent().append('<p>' + image.attr('title') + '</p>');
});

Ce qui va annoter l’ensemble de images avec une légende : Figure X – Titre de l’image.

Pas encore testé sous d’autre navigateur que Google Chrome par contre….

Go to Top