Limit editing to specific fields in a SharePoint 2010 list - sharepoint

I am wanting to allow limited editing of a SharePoint 2010 list item, to allow only editing of a few fields, depending on data in another sharepoint list. I have two lists:
Stock
=====
Stock Item Maximum Stock Level Current Stock Level
---------- ------------------- -------------------
My Item 100 10
My Item 2 200 25
Permissions
===========
Stock Item (lookup) Users (person, multiple)
------------------- ------------------------
My Item User 1
My Item 2 User 2
When 'User 1' clicks on My Item, 'Edit Item' is disabled (since they are in a custom group 'Stock Updaters'). I then want another icon in the ribbon 'Update Stock', which they click on and a form shows that allows them to edit the current stock level only. When they view 'My Item 2', either 'Update Stock' is disabled, or it just shows a view stating they don't have access to update the data.
How can I implement this, using InfoPath 2010? If they need to have contribute rights to update the data, is there a way of preventing this (unless they are an admin), or the prevent the edit form being shown (perhaps through workflows, showing a different form instead)?

Have you explored custom list forms? That will give you control to execute custom rules and enable/disable fields based on whatever rules you have.

Related

sharepoint Workflow works differently in 2010 & 2013

I have List 1 which has 2 workflows. Created workflow in 2010
Workflow 1 triggers when item created
Workflow 2 triggers when item changed
Workflow 1 copies list 1 item to another list, send email & updates a field in List 1.
The issue i am facing, when an item is created Workflow 1 is triggered and because i am updating a field in List 1, workflow 2 is getting triggered. I don't want the workflow 2 to run when i am updating an item in list when creating an item
But when i create the same workflows in 2013 it works fine.Workflow 2 does not get triggered when creating an item.But cannot use 2013 workflow as it does not copy attachment from one list to another
i want to update the status in list 1 to "Sent".But don't want the change item Workflow 2 to trigger.
Any help suggestion?
The simplest solution would be to add a hidden checkbox.
This can be done by turning on "Allow Content Type Management"
In the browser, go to the advanced settings screen for list 2. Turn on "Manage Content Types." Then Editing the default Content type in that list (the first one under content types on the list main settings page). Next add field to content type. Select "Yes/No" set default to No then save. Next go to the advanced settings for that field and set it to Hidden.
In Designer edit workflow 2. Add a stage to the beginning of the workflow that checks the newly created field. i.e.
if isSent is equal to No
End the workflow

Hide "All Records" for Role

The S130 says "The All Records tab shows all records without any filter applied. Once any filter is available for the form (whether it is created by the user or shared with the user), this tab appears automatically as the first tab."
How can I remove the All Records tab for a specific user/role?
The other ones are hide-able via making it "not shared."
Totally agree with #Mick: you cannot hide the All Records tab.
To Limit access to records in the All Records tab, you should define additional conditions for the generic inquiry screen, not data entry form:
As mentioned here: How do you limit the Leads viewable to an owner, role, or workgroup? - to limit access to records in the data entry form, you should:
either create a custom data entry screen with filter conditions for primary view and Lead ID selector identical to those defined for the associated inquiry or customize
or customize primary view and Lead ID selector in the LeadMaint BLC extension to match conditions defined for the associated inquiry
Actually, the All Records tab shows the unfiltered data of the form. If you restrict access to this tab, you won't access the form and any of its tabs at all. But if that's what you need, you can manage access to any screens on the Access Rights by Screen form (SM201020).

Netsuite Inventory Item Custom Forms keep changing

We have created a custom form for certain inventory items in Netsuite. When we want to go back and edit that inventory item, it automatically goes back to our default custom form. We manually have to change the form back to what we want to use each time we edit these types of items.
Is there a way to have it so when these specific items are opened to edit that it will always go to the custom form that we originally created it on?
No need to create a workflow/script. You just need to set the custom form to "Store Form with Record".
Customize the form and checked the option that says "Store Form with Record".
Every time you create an Item Record select the form and fill in the necessary information and save it. After saving it the form will be automatically saved with the record and it will be used every time you edit and view the record.
Definition of "Store Form with Record"
Check this box to store this custom form with each record entered with this form.
This ensures that your records are viewed and edited with this form regardless of who is viewing or editing the record.
Options:
1. Add the custom form to the menu and choose that menu item when editing those types of inventory items.
Write a workflow (SuiteFlow) that opens the correct form based on the inventory item type.
Write SuiteScript that will open the correct form based on the inventory item type.

Hide promoted links in sharepoint 2013?

I created a webpage containing various promoted link tiles. This page is my default page (when the user logons he/she is redirectedto this page). Based upon the group to which the user belongs I want to show some specific promoted link tiles and hide the rest of the promoted link tiles.
For example, my webpage contains 4 Promoted Link tiles.
For a normal user I want to show only 2 Promoted Link tiles and hide the rest of the tiles.
Whereas for admin I want to show all the Promoted Link tiles.
Or I thought of having different pages for different groups, but I couldn't find any setting in SharePoint 2013 to have different default pages for different groups.
I'm using both of the solutions listed above on the same site to meet different needs.
I have one Promoted Links list that provides 'activity' links for a number of different user types. In order to keep the user experience simple for users I'm setting permissions on individual items in the Promoted Links list to hide specific tiles/links from groups that don't need to see them.
On the list, you need to break permissions with the site, then change the permissions on the specific tiles you're 'hiding'.
I'm using SharePoint security groups to set permissions.
I'm using a second list to provide additional links on the page, but want to hide some of the links - sort of an active/inactive thing. Rather than adding a new field (which I haven't tested yet) I'm using the Order field as a filter. For example: If Order is less than 100, show them.
You can create the new view either in the browser (the 'Standard View' template will give you a tile view - surprisingly) or use the solution above for adding a view using SharePoint Designer. Either method will allow you to set a filter, sort, etc.
Alternatively, if you want to create another list type view, you can create a new view and use 'All Promoted Links' as a starting point.
You can create different views for different users using SharePoint Designer.
Below are the step by step guides.
Click on any blank region of the Promoted Links. This will show the ribbon for that Promoted Link.
Click List tab on the ribbon.
Click Create View.
Click Custom View in SharePoint Designer
Allow it to open in SharePoint Designer.
Give a name for your view, e.g. Test and click OK. By default, SharePoint designer takes Tiles view.
Close SharePoint designer and go back to your Promoted Links in browser.
Click the List Tab on ribbon.
Select the view you just created from the dropdown menu.
Click Modify View.
You can hide or display any link by giving a suitable condition for filter.
Actually the above thing is not possible in SharePoint.
For every user there will we same page in SharePoint but depending upon the group to which a user belongs we can hide and show a promoted links.
First create some groups and assign user to a particular groups and than change the permission of promoted groups to show/hide that particular group.

How can I display results filtered by creator?

I am using SharePoint 2010 and am adding a data view web part to the DispForm page for a custom list. I want to be able to display a history of list items created by the user (NOT currently logged in user). Example:
"User A" adds a new help desk ticket
"User B" views the list item and sees a DVWP that is filtered to display only the results from the list item's creator
Can I do this dynamically using the "created by" field? How would I filter this so that it displays all items created in this list by "created by"? This is for a help desk system I am developing. Essentially I just want to be able to filter based on the list item's creator.
There will be multiple users who will be adding the ticket.
In the dataview properties you have options to display a toolbar over the dataview web part. There are options to Filter,Sort and Group.
Alternatively you can Sort and Group the dataview in SPD based on 'Created By' field. I think this should be the way to do it. The User B should be able to view all tickets grouped by 'Created By' field.
Thanks!

Resources