# How to add functionality for the user to select who sees their profile

**URL:** <https://community.glideapps.com/t/how-to-add-functionality-for-the-user-to-select-who-sees-their-profile/70491>\
**Category:** Ask for Help\
**Created:** [February 4, 2024, 10:22pm UTC](https://community.glideapps.com/t/how-to-add-functionality-for-the-user-to-select-who-sees-their-profile/70491 "2024-02-04T22:22:56Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jesse\_Parker](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jesse_parker/32/70559_2.png) [@Jesse\_Parker](https://community.glideapps.com/u/Jesse_Parker)\
**Post date:** [February 4, 2024, 10:22pm UTC](https://community.glideapps.com/t/how-to-add-functionality-for-the-user-to-select-who-sees-their-profile/70491/1 "2024-02-04T22:22:56Z")

</div>

Hey friends!

I am working with a client who has members with different certification levels. They currently select their level in a drop-down within their user profile.

She recently asked if we can make a way for the user to decide which certification levels they want their profile to be shown to.

We have a directory of all profiles in the app with a filter for certification levels, but that’s not quite what she’s wanting here. Any way to accomplish this?

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [February 4, 2024, 11:34pm UTC](https://community.glideapps.com/t/how-to-add-functionality-for-the-user-to-select-who-sees-their-profile/70491/2 "2024-02-04T23:34:36Z")

</div>

So how many levels do you have? Do you mean that:

- Each user has a certification level.
- Each user should be able to choose something like: “I only want my profile to be shown to users whose certification level is at least X”

---

<div class="post-metadata">

**Author:** ![Jesse\_Parker](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jesse_parker/32/70559_2.png) [@Jesse\_Parker](https://community.glideapps.com/u/Jesse_Parker)\
**Post date:** [February 5, 2024, 6:15pm UTC](https://community.glideapps.com/t/how-to-add-functionality-for-the-user-to-select-who-sees-their-profile/70491/3 "2024-02-05T18:15:37Z")

</div>

Each user selects a certification level from a dropdown within their user profile to identify their level. Options are Student, Certified, and Master.

Then, yes, the client wants the user to experience what you described:

> Each user should be able to choose something like: “I only want my profile to be shown to users whose certification level is at least X”

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [February 6, 2024, 12:09am UTC](https://community.glideapps.com/t/how-to-add-functionality-for-the-user-to-select-who-sees-their-profile/70491/4 "2024-02-06T00:09:18Z")

</div>

I would have a helper table where you house all those choices and an equivalent number.

| Choice | Number |
| --- | --- |
| Student | 1 |
| Certified | 2 |
| Master | 3 |

Then in your Users table, use 2 relations to link the profile type choice and the filter choice to the helper table above, use a lookup to bring back two numbers.

Add a query column pointing to the Users table. Filter by “Profile type number” greater than or equal to “This row \> Filter choice number”.

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [February 6, 2024, 1:09am UTC](https://community.glideapps.com/t/how-to-add-functionality-for-the-user-to-select-who-sees-their-profile/70491/5 "2024-02-06T01:09:30Z")

</div>

> [@Jesse\_Parker](#):
>
> whose certification level is at least X

@ThinhDinh’s suggestion should work here. Any time you need “at least” functionality, you should default to using a number schema. The helper table he describes to assign this number to the certification level will work well.

---

<div class="post-metadata">

**Author:** ![Jesse\_Parker](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jesse_parker/32/70559_2.png) [@Jesse\_Parker](https://community.glideapps.com/u/Jesse_Parker)\
**Post date:** [February 7, 2024, 6:10pm UTC](https://community.glideapps.com/t/how-to-add-functionality-for-the-user-to-select-who-sees-their-profile/70491/6 "2024-02-07T18:10:37Z")

</div>

Thanks! Okay, so I want to make sure I am understanding this correctly so I can go implement.

By “helper” table, you mean just another table in Glide, yes? I am using Airtable so I would create another table of certification levels.

Then on the “Users” table, ad 2 additional “Lookup Fields” to the helper table. One is for the “User’s Certification Level” and the other is “Show my Profile to”. But instead of bringing back the name of the level, it returns the associated number.

Where does the query column go?

Also, this looks like it will only work with the logic of showing profiles greater than or equal to a certain level. As opposed to them just being able to select to show their profile to ONLY “Certified” or only to “Student” AND “Master”. Is that correct? I want to be able to communicate the caveats/limitations to the client.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [February 8, 2024, 12:10am UTC](https://community.glideapps.com/t/how-to-add-functionality-for-the-user-to-select-who-sees-their-profile/70491/7 "2024-02-08T00:10:42Z")

</div>

> [@Jesse\_Parker](#):
>
> By “helper” table, you mean just another table in Glide, yes?

Yeah, usually I add a “Choices” table to my app to house things like this.

> [@Jesse\_Parker](#):
>
> Then on the “Users” table, ad 2 additional “Lookup Fields” to the helper table. One is for the “User’s Certification Level” and the other is “Show my Profile to”. But instead of bringing back the name of the level, it returns the associated number.

Before the lookup fields, you would have to create a relation using the name of the levels they chose, then returning the associated number.

> [@Jesse\_Parker](#):
>
> Where does the query column go?

The query column goes in the Users table.

> [@Jesse\_Parker](#):
>
> Also, this looks like it will only work with the logic of showing profiles greater than or equal to a certain level. As opposed to them just being able to select to show their profile to ONLY “Certified” or only to “Student” AND “Master”. Is that correct? I want to be able to communicate the caveats/limitations to the client.

If you want it this way, the query would be constructed as: Filter by “Profile type number” equal to “This row \> Filter choice number”.
