تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
3 الردود
3230 أدوات العرض


Good afternoon, I am trying, in some way, to create an action in the website form so that I send that form as a ticket to the helpdesk module, the helpdesk is not the one that comes with Odoo, it is the one from Github, does anyone know of a way to do it?


الصورة الرمزية
إهمال

daiduongnguyen2709@gmail.com or contact me via facebook https://www.facebook.com/duong.messi.3/

أفضل إجابة

Just follow what odoo did for the task

1. You need to add xml data something like this

2. Then you need to define some js code like this

odoo.define('website.form_editor_registry', function (require) {

'use strict';


var Registry = require('web.Registry');


return new Registry();


});


odoo.define('website.send_mail_form', function (require) {

'use strict';


var FormEditorRegistry = require('website.form_editor_registry');

const { _lt } = require('@web/core/l10n/translation');


FormEditorRegistry.add('create_helpdesk_ticket', {

formFields: [{

type: 'char',

custom: true,

required: true,

fillWith: 'name',

name: 'name',

string: _lt('Your Name'),

}, {

type: 'tel',

custom: true,

fillWith: 'phone',

name: 'phone',

string: _lt('Phone Number'),

}, {

type: 'email',

modelRequired: true,

fillWith: 'email',

name: 'email_from',

string: _lt('Your Email'),

}, {

type: 'char',

custom: true,

fillWith: 'commercial_company_name',

name: 'company',

string: _lt('Your Company'),

}, {

type: 'char',

modelRequired: true,

name: 'subject',

string: _lt('Subject'),

}, {

type: 'text',

custom: true,

required: true,

name: 'description',

string: _lt('Your Question'),

}],

fields: [{

name: 'email_to',

type: 'char',

required: true,

string: _lt('Recipient Email'),

defaultValue: 'info@yourcompany.example.com',

}],

});


});

Where 'FormFields' will be use to render all the field in the form and the 'fields' is to render the option that you need to choose on the right side bar in editor mode

And don't forget to add that in manifest asset: 'website.assets_editor': ['yourmodule_name/src/static/js/....']

الصورة الرمزية
إهمال
الكاتب


I don't use js code in my odoo, I do everything from the website module

I know, but this is the way in order to add option "Create Helpdesk Ticket" for you to choose.
If you really need one and you don't know anything about js code, i can do it for cheap price

الكاتب

I have defined the js code and the xml in my code, I also created an xml for the action and the controller, I do not see any action to create a ticket (I do not have money, I am a student)

oh okay no need to create controller
Which odoo version do you use and you use Helpdesk from OCA right?

الكاتب

use odoo version 16, and the helpdesk is this https://github.com/OCA/helpdesk/tree/16.0

Did you add js code and xml to appropriate place in manifest.py and upgrade module as well ?

الكاتب

this is my manifest:

{
'name': "Website Helpdesk Form",
'version': '1.0',
'summary': "Create Helpdesk Tickets from Website",
'sequence': 10,
'description': "Allows creation of helpdesk tickets directly from the website.",
'category': 'Customer Relationship Management',
'author': "Your Name",
'website': "http://www.yourwebsite.com",
'depends': ['base', 'website','helpdesk_mgmt'],
'data': [
'views/templates.xml',
'views/action.xml',
'security/ir.model.access.csv',
],
'demo': [],
'assets': {
'web.assets_frontend': [
'website_helpdesk_form/static/src/js/form_editor_registry.js',
],
},
'installable': True,
'application': True,
'auto_install': False,
}
i upgrade the website,my helpdesk and the custom module too

Replace'web.assets_frontend' with 'website.assets_editor' and try upgrade module again

الكاتب

still the same I don't get any option

Send me your code, i'll check when i have time

الكاتب

Where can I send it to you? Shall I send you the module package?
You don't know how much I appreciate your effort.

الكاتب

https://we.tl/t-OO9xA8YC2X

I have uploaded my module to wetransfer so that it is more convenient to download

The js file is wrong, it need to be like this i guest
// static/src/js/form_editor_registry.js
odoo.define('website_helpdesk_form.form_editor_registry', function (require) {
'use strict';
var FormEditorRegistry = require('website.form_editor_registry');

FormEditorRegistry.add('create_helpdesk_ticket', {
formFields: [{
name: 'name',
type: 'char',
string: 'Your Name',
required: true,
}, {
name: 'email_from',
type: 'email',
string: 'Your Email',
required: true,
}, {
name: 'description',
type: 'text',
string: 'Description',
required: true,
}],
});

});

الكاتب

I have corrected the js code as you told me, I have updated the module again and it still does not appear, I don't know what to do

الكاتب

I touched something in the xml, now in the website's actions the 'false' option appears, but it is empty

this is my template.xml:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<!-- Record for the model itself, making it available for web forms -->
<record id="model_helpdesk_ticket" model="ir.model">
<field name="name">helpdesk.ticket</field>
<field name="model">helpdesk.ticket</field>
<field name="website_form_access">True</field>
</record>

<!-- Field configuration to whitelist form fields -->
<record id="x_helpdesk_form_whitelist" model="ir.model.fields">
<field name="model_id" ref="model_helpdesk_ticket"/>
<field name="name">x_formbuilder_whitelist</field>
<field name="ttype">many2many</field>
<field name="relation">ir.model.fields</field>
</record>
</data>
</odoo>

الكاتب

I still can't fix it

Done https://drive.google.com/drive/folders/1twWw89qQl2BosUFn3siRl4M1_Y5niruC?usp=sharing
I just need you to mark my answer as best one, i need to gain more xp :v

الكاتب

men,i love you

Good luck Mr Student :v

الكاتب

Could I have your email or something similar, if you don't mind?

أفضل إجابة

Hi,

If you need to create a ticket from the website when clicking on a button1. Click on the Edit button in the top right corner of the website2. Click on the button in which you need to create the ticket and set the action of the button as create a ticket.


Hope it helps

الصورة الرمزية
إهمال
الكاتب

No friend, that option does not appear on my website because I do not have the official helpdesk module, I use the one from github

أفضل إجابة

Maybe with send a E-mail action

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
1
سبتمبر 20
6701
2
أغسطس 24
1310
2
أبريل 24
2676
0
مارس 23
2658
1
أكتوبر 22
2673