跳至內容
選單
此問題已被標幟
5 回覆
15600 瀏覽次數

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

頭像
捨棄

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

最佳答案

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>
頭像
捨棄

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.

最佳答案

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)



頭像
捨棄
最佳答案

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.

頭像
捨棄
最佳答案

Hi,

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

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
1
12月 24
1452
0
1月 21
3825
1
4月 17
7108
0
7月 18
5225
0
1月 24
996