Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
5 Odpovědi
16315 Zobrazení

Hello. Anyone know what is the best way to redirect from website front end to odoo web back end, if I click a link ? Because I cannot return dictionary action_window from website.

For example: I have a product on my website, so if I click a link, it redirect to back end with spesific form, model, action and product id.

Thanks for your help

Avatar
Zrušit

Hi, I need some more info. Why would you want to send "form, mode or action" to backend?

Hai Lucio. I send "form, mode or action" to backend in case when I design an email template with front end designer and save or cancel it, it will redirect exactly the last opened action or form. I think it will usefully for odoo if you want anything about redirect from website to web (front to back). 
 
On Tuesday, July 28, 2015, Lucio <lucio-nardelli-itecnis-com@mail.odoo.com> wrote:

Hi, I need some more info. Why would you want to send "form, mode or action" to backend?

--
Lucio
Sent by Odoo S.A. using Odoo about Forum Post How redirect from Website Front end to Odoo Web Back end ?


--
Beloved Friend

Andre Leander

Nejlepší odpověď

Have you tried this?


<a class="btn btn-primary" t-att-href="'/web#menu_id=%s&amp;action=%s&amp;id=%s&amp;view_type=form&amp;model=your_model' % (%(addon.menu_id)d, %(addon.action_id)d, your_res_id, )">Go to backend</a>
Avatar
Zrušit

Thanks Martin

in my case its returning but it says the form view can not be loaded ???? any solution

it worked in chrome. but its not working in Firefox.

I need to tree view with domain like I open sale order tree view display specific partner orders from website to odoo backend.

Nejlepší odpověď

Using domain on url does not work on version 17

This is the solution:
Create an action record,
Set the domain empty
Browse the action reference object and update the domain field,
Then call your redirect url with the action

e.g 
my_action.xml

           
Dashboard (Memo)            
memo.model            
ir.actions.act_window           
[]             
tree,form        


your_controller.py

@http.route(['/get-data-info/'])    
def get_data_info(self, items):       
  ​"""items : '[8,88,90,70]' 
​action_id = request.env.ref('module.myaction')        
​menu_id = request.env.ref('module.my_menu')
​act_obj = request.env['ir.actions.act_window']    
​awid= act_obj .browse([ action_id.id])
​if awid:            
​awid.update({ 'domain': [('id', 'in', eval(items))]})        
​url = f"/web#action={action_id.id}&model=memo.model&view_type=list&cids=1&menu_id={menu_id.id}"        ​return request.redirect(url)



Avatar
Zrušit
Nejlepší odpověď

To redirect from the frontend of a website to the backend of Odoo, you can use the following code:

href="https://your-odoo-server/web#id=product_id&model=product.product&action=your_action_id">Link text

Replace your-odoo-server with the URL of your Odoo server, product_id with the ID of the product you want to open, product.product with the model name of the product, and your_action_id with the ID of the action you want to execute.

You can find the model name and action ID by going to the Developer Mode in the backend of Odoo and looking for the appropriate model and action.

Keep in mind that this will only work if the user is already logged in to the backend of Odoo. If they are not logged in, they will be redirected to the login page before being redirected to the desired page.

Avatar
Zrušit
Nejlepší odpověď

Hi,

Did you find a way ? I have the same need..

Avatar
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
1
pro 24
2128
0
led 21
5164
1
dub 17
7605
0
čvc 18
5643
0
led 24
1400