8 Replies Latest reply on Jun 18, 2017 7:21 AM by gofmp15

    Calculation in privilege set to disallow DELETE ALL

    sdurante

      Is there a way to specify this in a calculation under privilege Records, custom record privileges and apply it to specific tables?

        • 1. Re: Calculation in privilege set to disallow DELETE ALL
          philmodjunk

          You could set up custom menus that have this item disabled or removed. Then use an OnLayoutEnter script to install this custom menu when the accountPrivilegeSetName identifies a user where you want to disallow this option.

          1 of 1 people found this helpful
          • 2. Re: Calculation in privilege set to disallow DELETE ALL
            sdurante

            Then use an OnLayoutEnter script to install this custom menu when the accountPrivilegeSetName identifies a user where you want to disallow this option.

             

            I've only wet my toes in custom menus and could never get one to appear.  OnLayoutEnter script  may be the step I overlooked. Thanks.

            • 3. Re: Calculation in privilege set to disallow DELETE ALL
              philmodjunk

              There are two ways to install a custom menu set on a given layout:

               

              In layout setup, there's a control for selecting the desired custom menu. This then becomes the default custom menu unless it is modified either by script step or via a temporary change from the Filemaker Advanced Tools menu.

               

              Then you can use the Install Menu set script step. This option allows you to specify different menu sets for different users. Note that all of the above is specific to a given layout, you have to use one method or the other to install a custom menu set on any layout where you want it used.

              • 4. Re: Calculation in privilege set to disallow DELETE ALL
                gofmp15

                Delete All applies to any FOUND SET.

                 

                You could disable deletion in the Privilege Set and then create a script to delete records and give it full access which I believe overrides the privilege set. The danger is that it might give a hacker with Advance the chance to cause a problem.

                 

                The script could check for the count of records and decide whether or not to allow this.

                Found Set > 100  No

                Found Set = total records in table  No

                • 5. Re: Calculation in privilege set to disallow DELETE ALL
                  sdurante

                  I install the custom menu on file open if "signed in as" has certain criteria, but I find that it subsequently reverts back to the regular menu when going to a different layout even though the signed in as has not changed. Is there a way to override this or must I have the custom menu install in every layout on open?

                  • 6. Re: Calculation in privilege set to disallow DELETE ALL
                    wimdecorte

                    In the Layout setup you can define the default menu set that will be applied.

                    • 7. Re: Calculation in privilege set to disallow DELETE ALL
                      philmodjunk

                      Custom menu sets are specific to a layout. Installing it on one layout does not install it on others.

                      • 8. Re: Calculation in privilege set to disallow DELETE ALL
                        gofmp15

                        Each layout can have a custom menu assigned to it. This means that every privilege set opening that layout would have that custom menu in use.

                         

                        There is a function to assign a custom menu to a script and you could use an if:

                         

                        If privilege set (or other quality) is A

                          assign custom menu 1

                        else if = b

                          assign custom menu 2

                        ....

                        end if

                         

                        Create a script named Install Menus and add that to its steps.

                         

                        Then call that script from every other script:

                         

                        Perform Script Install Menus

                         

                        This will attach your custom menus to everything and avoid having to use the layout setup.

                         

                        Using this idea your Install Menu set can become quite flexible and even show one menu on Friday, a different one on Monday.

                         

                        If Employee A is in the office, they fan see one menu set and if they are in Starbucks, another menu set.

                         

                        Years ago I gave up on Menus and began doing the hard work: thinking. I set with users and asked them what they needed and created buttons for them to do their work on the layout where they would need the button.This took more effort than creating a menu bar.

                         

                        My thinking is that Menus aren't secure since every item on the menu is available to anyone sitting at the computer. But what the heck, many solutions aren't that secure since they allow a user to log in simultaneously from multiple computers within and without the company building.