3 Replies Latest reply on Nov 16, 2011 2:26 PM by philmodjunk

    Submitting entires for approval?



      Submitting entires for approval?


      1.) I am designing a database for risk management and I have multiple layouts that are for different parts of this database. My question is if there is a way to design it in such a way so that when users log in via the web using an account name and password, they are initially taken to a layout (called "Adding a Risk") where someone can enter/submit information about a risk for the project at hand but rather than simple data entry where people just create new entries that are added to the database immediately, I would like to have the ability to have these "forms" or entries from the "Adding Risk" layout to be sent to an administrator to be approved before they make it onto the actual database itself. Then, the administrator can either approve or refuse the information for the database. Preferably I would like to have the users and administrators be able to enter/change/delete information on these forms until they have been approved at which point the only ones who can change information on these entries would be the administrators. I am just unsure if this is even possible let alone HOW to do it so help would be much appreciated. Thanks.

        • 1. Re: Submitting entires for approval?

          It's quite possible and the fact that you want to publish this to the web shouldn't be much of a factor.

          I suggest that you have submitters create and enter new records in the same table as you have for your reviewed/approved data, but use a status field to indicate whether or not the record has been approved. You can use finds, relationships and portal filters to control whether you are looking at "unapproved" or "approved" records. You can then use manage | security to set up accounts with privilege sets that control which records can be viewed and which can be edited based on both the privilege set specified for that account and the value in this status field.

          See "Editing record access privileges" in FileMaker Help and check out this particular sub section: "Entering a formula for limiting access on a record-by-record basis" for a detailed description of how to set this up.

          • 2. Re: Submitting entires for approval?

            Thank you for the tip on where to look in the help section, it is telling me pretty much everything I need to know. Now I am just confused about the part where you said that I can use finds, relationships, and portal filters to control whether I am looking at approved or unapproved records. I am not sure what you mean by this or how to go about doing this so some clarification would be great. Thank you.

            • 3. Re: Submitting entires for approval?

              There are lots of different ways to use these basic database techniques to work only with approved or only with unapproved records on a layout.

              This script would pull up only "unapproved" records so that they can be reviewed and approved:

              Enter Find Mode[] //clear the pause check box
              Set Field [YourTable::ApprovalStatusField ; "Unapproved"]
              Set Error capture [on]
              Perform Find []

              Do this every time you access a specific layout and you'll only see unapproved records on this layout.

              On the other hand, if you include the "approvalStatusfield" in your sort order, your records would be grouped by approval status and this makes it possible to collect counts and other subtotals from data in each group of records if you also use summary fields and a sub summary layout part.

              Portals can include a portal filter to only display "approved" or "unapproved" records. Set up the expression like this:

              PortalTable::ApprovalStatus = Globals::SelectedApprovalStatus

              and you can set the Globals::SelectedApprovalStatus field with radio buttons or a pop up menu and the same portal can display either approved or unapproved records based on the value selected in this field.

              More options are possible.