Is there any way to know if create method is called directly from selection list field?
I have to extend create method (The context not contains this information).
Related
I don't want to use 'users' menu item and want to manage users from another menu item named 'Merchant' and only a specific user group data will be there and while creating new record I want to set a specific user_group. Is there any approach for that?
You can simply add the menu directly under your module. Get the menu for res.users and put where ever you want. Don't forget to add dependency to base.
While doing that you can add a domain to the menu item and filter according to your needs.
Also put that domain into the context of the menu with giving a default value same as the domain. That is, you need to put the required settings in the context like {default_FIELD_NAME: VALUE}. You need to use the default_ prefix for it to work. That way when creating a new user from your menu the context will get the default value and set accordingly. However, if it is not a readonly field, user may change the value. There are two ways to avoid that:
i. create your own form using the res.users and design it the way you like it with default values.
ii. inherit the view of res.users and change the related field to be readonly if a certain context value is passed. Then you can call the view with context let's say {readonly_group_x: True} and it should work. Also you may need to make sure that force_save="1" is set since it may not save the readonly field.
These are the basic steps of accomplishing what you have described. However, working with res.groups can be challenging depending on what you want to do. You may need to tweak or even end up creating your own view with the desired effect.
I could not figure how I'm supposed to do the following scenario;
I've two fields in my inherited res.partner view "ExternalID" and "ExternalCode" all the fields are going to be editable until those two are filled. And after these two are filled everything is going to be read-only that's the easy part we can handle this by attrs. The problem is when these two fields are filled (they're being filled from an external app by odoo web API.) I need call an external web API before the form is loaded i^ve to update the read-only fields. I've tried placing a computed field and make it invisible so that it gets fired up when the view is being loaded and I thought I should update the other fields but it seems when I write a compute function it can only update the field that it is called from.
For Example;
external_api_call_field = fields.Char(compute='_get_values_from_api')
#api.multi
def _get_values_from_api(self):
for record in self:
#call api and do stuff
#set the values that we got from the external application
record.company_detailed_address="Sample address line"
the method gets triggered and seems to run all the way but when the form is loaded the address field is not filled.
I tried to call
self.write({'company_detailed_address' : 'Sample address line'})
which seems to work but the new value is not set directly you've to refresh the view
Any help or guidance is appreciated.
Regards.
I'm having trouble with some Silverlight functionality. My goal is to get some data from the database and display it in my grid. Sounds simple, however, there are 7 columns that are always going to be there.
The rest of the columns depends on the account. There could be 2 (called Actions) associated with a certain account, compared to another account that could have 5, and the action names can be completely different.
I have successfully been able to return a list of all the possible actions for the given account, and then adding the columns to the grid in the code bihind(VB), and I can bind my data to the grid for all the columns that
are already known. The way I store the item's actions, is a Property of type List. My problem is finding a way to iterate through the actions list of the Item object in order to bind those actions to the grid.
Any suggestions?
You can create extension that will create additional columns and bindings that will bind each value from list to column. Also you should create an additional Dependency Property which you'll bind
to your List.
I am adding custom lists programmaticaly from a custom template. I check to see if the custom list template exists, and if not I create the list template by creating a list and then saving it as a template using the SPList.SaveAsTemplate() method. However, during the same timer job, I try to get the list template, but it doesn't show in the SPSite.GetCustomListTemplates() method. It does however show in the UI under the List Template Gallery. Any idea as to why it would show in the UI but not be returned in the method call?
Read my answer to this question. With that you should get a result from GetCustomListTemplates instead of just an empty list.
I'd like to be able to click a check box on each of my Outlook Calendar Meeting Invites that would disable the "Reminder" if unchecked (a.k.a. set the Reminder value = None).
Example of Photoshop mock up:
Any suggestions?
It looks like you need to customize the current view of the Explorer/Folder objects. The Currentview property of the Folder or Explorer class returns a View object representing the current view. To obtain a View object for the view of the current Explorer, use Explorer.CurrentView instead of the CurrentView property of the current Folder object returned by Explorer.CurrentFolder.
The View object allows you to create customizable views that allow you to better sort, group and ultimately view data of all different types. There are a variety of different view types that provide the flexibility needed to create and maintain your important data.
The table view type (olTableView) allows you to view data in a simple field-based table.
The Calendar view type (olCalendarView) allows you to view data in a calendar format.
The card view type (olCardView) allows you to view data in a series of cards. Each card displays the information contained by the item and can be sorted.
The icon view type (olIconView) allows you to view data as icons, similar to a Windows folder or explorer.
The timeline view type (olTimelineView) allows you to view data as it is received in a customizable linear time line.
Views are defined and customized using the View object's XML property. The XML property allows you to create and set a customized XML schema that defines the various features of a view.
The XML definition describes the view type by using a series of tags and keywords corresponding to various properties of the view itself. When the view is created, the XML definition is parsed to render the settings for the new view.
To determine how the XML should be structured when creating views, you can create a view by using the Outlook user interface and then you can retrieve the XML property for that view.
To programmatically add a custom field to a view, use the Add method of the ViewFields object. This is the recommended way to dynamically change the view over setting the XML property of the View object.
Note, if you are adding a custom property to the ViewFields collection, the property must exist in the UserDefinedProperties collection for the View’s parent folder.