osticket como insertar un usuario o agente en sql o mariadb

1,109 views
Skip to first unread message

PICCORO McKAY Lenz

unread,
Jul 8, 2015, 7:32:38 PM7/8/15
to venenuxsarisari, venenuxmassenkoh


Consulta de usuarios validados o con clave

1SELECT * FROM osticket.ost_user a 
2join simpleticket.ost_user_account b on a.id = b.user_id 
3join simpleticket.ost_user_email c on c.user_id=a.id



Consulta de usuarios en el sistema (no agentes)

1SELECT * FROM osticket.ost_user a 
2join simpleticket.ost_user_email c on c.user_id=a.id


Insercion de usuario valido
 1INSERT INTO `osticket`.`ost_user`
 2(`org_id`,`default_email_id`,`status`,`name`,`created`,`updated`)
 3VALUES
 4(0,0,0,'usuarionuevo',CURDATE(),CURDATE());
 5
 6INSERT INTO `osticket`.`ost_user_email`
7( 8`user_id`, 9`address` 10)VALUES 11( 12(SELECT a.id FROM osticket.ost_user a WHERE name = 'usuarionuevo'),
13'usuari...@intranet1.net.ve' 14);


usuarios-agentes


Documentado insercion tabla staff

 1INSERT INTO `osticket`.`ost_staff`
2( 3/*`staff_id`, no necesario, es autoincrement*/ 4`group_id`, /* requere de select de un grupo */ 5`dept_id`, /* requeire de select de un departamento */ 6`timezone_id`, /*requeire de select de un tiempo */ 7`username`, 8`firstname`, 9`lastname`, 10`passwd`, 11/*`backend`, para cualquiera no es necesario especificarlo */ 12`email`, 13/*`phone`, no necesario */ 14/*`phone_ext`, no necesario */ 15/*`mobile`, no necesario */ 16`signature`, /* opcional */ 17`notes`, /* quien es */ 18`isactive`, /*1 = activo 0 inactivo*/ 19`isadmin`, /*1 = administrador 0 agente*/ 20`isvisible`, /*1 = aparece para los demas agentes 0 esta oculto y solo lo ven admins */ 21`onvacation`, /*1 = no esta trabajando*/ 22`assigned_only`, /*1 = no ve tickets sino los que tiene por hacer 0 ve los tickets de su grupo*/ 23`show_assigned_tickets`, /* ?? see https://github.com/osTicket/osTicket-1.8/issues/2026#issuecomment-119327570*/ 24`daylight_saving`, /* 0 do not use the date saving*/ 25`change_passwd`, /* 1= next login must change password, 0= user changes in any moment */ 26`max_page_size`, /* 0 */ 27`auto_refresh_rate`, /* 0 */ 28/*`default_signature_type`,/* not necesary, none: see https://github.com/osTicket/osTicket-1.8/issues/2026#issuecomment-119327570*/ 29/*`default_paper_size`,/* not necesary specified, default are letter*/ 30`created`, /* must manually puts date here*/ 31`lastlogin`,/* NULL */ 32`passwdreset`,/* NULL*/ 33`updated` 34) /* must manually puts date here*/ 35VALUES 36( 37<{staff_id: }>, 38<{group_id: 0}>, 39<{dept_id: 0}>, 40<{timezone_id: 0}>, 41<{username: }>, 42<{firstname: }>, 43<{lastname: }>, 44<{passwd: }>, 45<{backend: }>, 46<{email: }>, 47<{phone: }>, 48<{phone_ext: }>, 49<{mobile: }>, 50<{signature: }>, 51<{notes: }>, 52<{isactive: 1}>, 53<{isadmin: 0}>, 54<{isvisible: 1}>, 55<{onvacation: 0}>, 56<{assigned_only: 0}>, 57<{show_assigned_tickets: 0}>, 58<{daylight_saving: 0}>, 59<{change_passwd: 0}>, 60<{max_page_size: 0}>, 61<{auto_refresh_rate: 0}>, 62<{default_signature_type: none}>, 63<{default_paper_size: Letter}>, 64<{created: }>, 65<{lastlogin: }>, 66<{passwdreset: }>, 67<{updated: }> 68);


Lenz McKAY Gerardo (PICCORO)

PICCORO McKAY Lenz

unread,
Jul 17, 2015, 4:29:48 PM7/17/15
to venenuxsarisari, venenuxmassenkoh
He corregido los querys:

NOTA: esto lo realizo usando el correo como validador, esto es porque asi se puede usar fuera del engine para integrar en un script lua (el de vitronic) o una dash (el de debian)

Si lo realizan en un procedimiento sql, este seria mejor usar el id directamente con "last_executed_query" y "last_result" ya que osticket solo emplea mysql/mariadb


Insercion de usuario valido

Son tres lugares, una tabla de usuarios sean reales o no, es a quien el ticket se le crea, otra tabla para que este sea registrado como de sistema, y una tercera para enlazar que correo tiene este usuario como tal sea o no interno o desconocido.

 1/* creacion de un usuario cualquiera */
 2INSERT INTO `ost_user`
 3    (`org_id`,`default_email_id`,`status`,`name`,`created`,`updated`)
 4VALUES
 5    (0,0,0,'usuarionuevo2',CURDATE(),CURDATE());
 6/* creacion como cuenta interna */
 7INSERT INTO `ost_user_account`
 8(
 9    `user_id`,
10    `status`,`timezone_id`,`lang`,
11    `username`,`passwd`,`backend`,`registered`)
12VALUES
13(
14    (SELECT `id` FROM `ost_user` WHERE `name` = 'usuarionuevo2'),
15    9,9 /* 9 = Venezuela*/,NULL,
16    'usuarionuevo2','clavenuevo',NULL,CURDATE()
17);
18/* creamos el correo al usuario creado */
19INSERT INTO `ost_user_email`
20    (`user_id`,`address`)
21VALUES
22(
23    (SELECT `id` FROM `ost_user` WHERE `name` = 'usuarionuevo2'), 'usuari...@intranet1.net.ve' 
24);
25/* ahora enlazar el correo correcto */
26SET SQL_SAFE_UPDATES=0;
27UPDATE `ost_user` 
28SET `default_email_id` = (SELECT `id` FROM `ost_user_email` WHERE `address` = 'usuari...@intranet1.net.ve')
29WHERE `id` = (SELECT `user_id` FROM `ost_user_email` WHERE `address` = 'usuari...@intranet1.net.ve');
30SET SQL_SAFE_UPDATES=1;


Consulta de usuarios validados o con clave

En el siguiente consulta sql se reporta los usuarios que reportan que tienen clave ya generada (tabla user_account) y acceso ya permitido (valor 9 en status):

1SELECT c.passwd, c.username, u.correo, c.status, c.lang, u.org_id, u.id, u.user_id FROM
2(
3    SELECT a.id, a.org_id, b.user_id as user_id, b.address as correo
4    FROM ost_user as a JOIN ost_user_email as b on a.id = b.user_id LIMIT 0, 1000
5) as u 
6LEFT JOIN ost_user_account as c
7ON u.user_id = c.user_id LIMIT 0, 1000

El resultado es asi:

passwdusernamecorreostatuslangorgiduser_id
'clavenuevo''usuarionuevo2''usuari...@intranet1.net.ve''9'NULL'0''375''375'

La insercion de tabla staff ya la hice en el correo anterior de este hilo, es mas sencilla

Scripts SQL para cambiar claves en osticket

1UPDATE ost_staff SET passwd = md5('<clavenueva>') WHERE username = '<nombreusuario>'

1UPDATE ost_user_account SET passwd = md5('<clavenueva>') WHERE username = '<nombreusuario>'

Lenz McKAY Gerardo (PICCORO)

PICCORO McKAY Lenz

unread,
Jul 21, 2015, 6:05:44 PM7/21/15
to venenuxsarisari, venenuxmassenkoh
Reset password or assign are using the md5() function in sql her a example:

UPDATE ost_user_account SET passwd = md5('<clavenueva>') WHERE username = '<nombreusuario>'

Lenz McKAY Gerardo (PICCORO)
Reply all
Reply to author
Forward
0 new messages