I have two groups of users: Lideres who can ...

ux
(Nicholas Christoffersen) #1

I have two groups of users:

Lideres who can see everything, and Voluntarios who should only see records that are associated to them.

I have three tables:

a parent table “Grupos” and two child tables “Grupo Lideres” and “Grupo Participantes”.

AppSheet automatically generates the virtual List columns on the Grupos table, as well as the Inline table views to see all the associated records in Grupo Lideres and Grupo Participants.

The auto-generated Inline table view does not have the “Show If” item to place a rule on whether to show this view.

I tried setting the rule on the virtual column in the Type Qualifier (see image in comments).

I also tried defining my own table view and placing my “Show If” rule there.

But the inline view still displays, and if I click “view” (labeled Visualizar in my app), it opens the new table view I created, which should not be visible to my test user.

Have I done it correctly and discovered an issue?

(Nicholas Christoffersen) #2
(Nicholas Christoffersen) #3
(Nicholas Christoffersen) #4

I am successfully hiding views based on the Rol condition, as in this example with the Directorio table view:

(Nicholas Christoffersen) #5
(Levent KULAÇOĞLU) #6

Do you have email addresses recorded in your tables?

(Nicholas Christoffersen) #7

I am using the exact same condition to hide the list column (see first two screen shots on this thread) but the inline view of records still displays.

(Nicholas Christoffersen) #8

@Levent_KULACOGLU Yes.

I have a Personas table that holds all people and their e-mail addresses.

When I create a record in the Voluntarios table, I have a virtual column to look up the e-mail address from the Personas table.

The “Yo” slice is already successfully filtering the Voluntarios records to just one record based on the UserEmail().

Views are already conditionally hidden or displayed

based on the “Rol” value in this single slice record.

But columns and inline views are not.

(Levent KULAÇOĞLU) #9

You can use an expression like:

AND(IN(USEREMAIL(),Personas[EmailColumn]),[Rol]=“Lideres”)

in Show_If propery of [Related…] column in your column structure. It will show this column to the users whose email address is in [EmailColumn] of Personas table and [Rol]=“Lideres”

(Levent KULAÇOĞLU) #10

@Nicholas_Christoffer can we have web-meeting if you’re available? I’m not aware of your timezone, but if it’s too late for you and if you can add my email (levent@able3ventures.com) as a co-author to your app, I can have a check

(Aleksi Alkio) #11

Few points to understand. When you use the Show_If for the view, it doesn’t hide that view totally, it just hide that view “button”. For example… if you choose that view as an initial view from UX > Options > Starting View, it will still show that view when the user opens your app. If you set that view as a ref view, it will do the same.

If you want to hide the inline table from the detail view, the Show_If won’t affect if the option UX > Options > Apply show-if constraints universally is OFF. When it’s OFF and you have a formula in Show_If, it will affect on the form view only.

(Nicholas Christoffersen) #12

@Aleksi_Alkio That was it!!

I updated the Show-If constraints universally setting and got the inline view to conditionally hide.

Thank you!

(Aleksi Alkio) #13

You’re welcome

(Nicholas Christoffersen) #14
(Nicholas Christoffersen) #15
(Levent KULAÇOĞLU) #16

@Nicholas_Christoffer

Go to the UX view that you have associated with it and set the column order as you have desired in the detail view.

(Nicholas Christoffersen) #17

@Levent_KULACOGLU

Not sure I understand your suggestion. My issue is not the order of columns but how to hide an inline list view from a group of users.

(Levent KULAÇOĞLU) #18

@Nicholas_Christoffer

Inline Views or Child Records are shown in Detail Views. In Detail views you can decide what columns to show with the Column Order. However, if you have set your REF with isPartOf option set to TRUE, then it’s possible that you can notice the child records on the Form UX also. Provided that’s your case, the solution is creating a SLICE of your table without the [Related…] column and use it in your main data form as datasource.

(Nicholas Christoffersen) #19

@Levent_KULACOGLU I got it regarding the Detail views and specifying which columns appear in them.

But my issue is with displaying a column (inline list) conditionally for one group of users while hiding it from another.

Please see screen shots where I provided a Show If condition for the list column in the Type Qualifier.

Why doesn’t my Show If condition hide the list column?

(Levent KULAÇOĞLU) #20

@Nicholas_Christoffer if you have user Authentication set to ON then you can Show/Hide fields with USEREMAIL() expression. Provided you set a USER/ROLE/PRIVILEGE table, you can read the values from that table also.