# Enable edit buttons for comments based on current user. 

**URL:** <https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902>\
**Category:** Ask the community\
**Tags:** question, code\
**Created:** [January 24, 2018, 9:53pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902 "2018-01-24T21:53:24Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![manny-camacho](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/manny-camacho/32/1247_2.png) [@manny-camacho](https://forum.wixstudio.com/u/manny-camacho)\
**Post date:** [January 24, 2018, 9:53pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/1 "2018-01-24T21:53:24Z")

</div>

I’m using a repeater to display comments made by different users, I created an edit button in the repeater so every registered user gets to edit their own comments after post if they so choose to, however every registered user is able to click the edit button every time whether they typed the comment or not. How do I enable only the buttons for the comments made by the current user and disable the others? Is that possible?

 ![](https://us1.discourse-cdn.com/wix/original/3X/9/5/95d5eae5ed375202af57052a6170fcb3871f1996.png)

---

<div class="post-metadata">

**Author:** ![andreas-kviby](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/andreas-kviby/32/790_2.png) [@andreas-kviby](https://forum.wixstudio.com/u/andreas-kviby)\
**Post date:** [January 24, 2018, 10:24pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/2 "2018-01-24T22:24:48Z")

</div>

Then you have to loop through data and make sure the button is only visible to the users that created the original comment. If you check the logged in user id and use the forEachItem method in the repeater and inside that method set visible or not on the button depending on if the right user is logged or not.

---

<div class="post-metadata">

**Author:** ![manny-camacho](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/manny-camacho/32/1247_2.png) [@manny-camacho](https://forum.wixstudio.com/u/manny-camacho)\
**Post date:** [January 24, 2018, 11:05pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/3 "2018-01-24T23:05:06Z")

</div>

This is the first time I do this, could you please show me an example?

---

<div class="post-metadata">

**Author:** ![uval-blumenfeld-wix](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/uval-blumenfeld-wix/32/672_2.png) [@uval-blumenfeld-wix](https://forum.wixstudio.com/u/uval-blumenfeld-wix)\
**Post date:** [January 25, 2018, 8:10am UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/4 "2018-01-25T08:10:49Z")

</div>

Hi Manny,  
The easiest way to do this would be to do the following:

1. In your page’s onReady() use currentUser() to determine the current user and save it in a variable [https://www.wix.com/code/reference/wix-users.html#currentUser](https://www.wix.com/code/reference/wix-users.html#currentUser)
2. Set the buttons to be hidden on load
3. In the repeater’s onItemReady() - use the itemData parameter to inspect your data and determine whether the comment belongs to the user viewing the page. Then show the button using $w('# _buttonName_ ').show() [Repeater - Velo API Reference - Wix.com](https://www.wix.com/code/reference/$w.Repeater.html#onItemReady)

---

<div class="post-metadata">

**Author:** ![manny-camacho](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/manny-camacho/32/1247_2.png) [@manny-camacho](https://forum.wixstudio.com/u/manny-camacho)\
**Post date:** [January 25, 2018, 5:06pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/5 "2018-01-25T17:06:15Z")

</div>

Could you please post an example for me? I’m just learning coding, this is all very new to me.  
Thank you.

---

<div class="post-metadata">

**Author:** ![manny-camacho](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/manny-camacho/32/1247_2.png) [@manny-camacho](https://forum.wixstudio.com/u/manny-camacho)\
**Post date:** [January 26, 2018, 1:13pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/6 "2018-01-26T13:13:17Z")

</div>

how do I save the current user to a variable?

---

<div class="post-metadata">

**Author:** ![manny-camacho](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/manny-camacho/32/1247_2.png) [@manny-camacho](https://forum.wixstudio.com/u/manny-camacho)\
**Post date:** [January 28, 2018, 3:27am UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/7 "2018-01-28T03:27:03Z")

</div>

I have no idea what I’m doing here. The comments are stored in the “Comunidad” collection (that means each comment has its own ID and URL . The members’ info is stored in the “Afiliados” collection. Could you tell me what’s going on with my code please?

import wixData from ‘wix-data’;  
import wixUsers from ‘wix-users’;  
$w.onReady(function () {  
$w(“#button9”).hide();  
});  
$w.onItemReady(function () {  
$w(“#repeater1”).onItemReady( ($w, itemData) =\> {

```
        $w(`#button9`).value = itemData.value; 
    const currentUser = wixUsers.currentUser; 
if (currentUser.loggedIn) { 
  currentUser.getEmail().then(email => { 
    wixData.query('Afiliados').eq('email', email).find()  
    .then(() => {  
    $w("#button9").show(); 

```

});  
});  
}  
});  
});

## **HELP!**

---

<div class="post-metadata">

**Author:** ![manny-camacho](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/manny-camacho/32/1247_2.png) [@manny-camacho](https://forum.wixstudio.com/u/manny-camacho)\
**Post date:** [January 28, 2018, 7:01pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/8 "2018-01-28T19:01:06Z")

</div>

Here’s another version of the code:

```
import wixUsers from 'wix-users'; 
	import wixData from 'wix-data'; 

$w.onReady(function () { 
			     $w("#button9").hide(); 
			});      
	    const currentUser = wixUsers.currentUser; 
if (currentUser.loggedIn) { 
  currentUser.getEmail().then(email => { 
    wixData.query('Afiliados').eq('email', email).find()  
    .then(() => {  

```

$w(“#repeater1”).onItemReady( ($w, itemData) =\> {  
if (itemData.currentUser.loggedIn) {  
$w(‘#button9’).show();  
}  
});  
});  
});

**Still not working. ☹**

---

<div class="post-metadata">

**Author:** ![manny-camacho](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/manny-camacho/32/1247_2.png) [@manny-camacho](https://forum.wixstudio.com/u/manny-camacho)\
**Post date:** [January 28, 2018, 9:13pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/9 "2018-01-28T21:13:49Z")

</div>

Anyone?

---

<div class="post-metadata">

**Author:** ![andreas-kviby](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/andreas-kviby/32/790_2.png) [@andreas-kviby](https://forum.wixstudio.com/u/andreas-kviby)\
**Post date:** [January 29, 2018, 5:34pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/10 "2018-01-29T17:34:17Z")

</div>

Hey  
I just find that you are missing a closing } in the end. Try this

```javascript
import wixUsers from 'wix-users';
import wixData from 'wix-data';

$w.onReady(function () {
  $w("#button9").hide();
});
const currentUser = wixUsers.currentUser;
if (currentUser.loggedIn) {
	currentUser.getEmail().then(email => {
  wixData.query('Afiliados').eq('email', email).find()
  .then(() => {
		$w("#repeater1").onItemReady( ($w, itemData) => {
    	if (itemData.currentUser.loggedIn) {
    		$w('#button9').show();
			}
		});
	});
});
}

```

You might want to run the whole code within the onReady function to make sure the page is fully loaded.  
Like the below:

```javascript
import wixUsers from 'wix-users';
import wixData from 'wix-data';

$w.onReady(function () {
	$w("#button9").hide();
	const currentUser = wixUsers.currentUser;
	if (currentUser.loggedIn) {
		currentUser.getEmail().then(email => {
	  wixData.query('Afiliados').eq('email', email).find()
	  .then(() => {
			$w("#repeater1").onItemReady( ($w, itemData) => {
	    	if (itemData.currentUser.loggedIn) {
	    		$w('#button9').show();
				}
			});
		});
	});
	}
});

```

---

<div class="post-metadata">

**Author:** ![manny-camacho](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/manny-camacho/32/1247_2.png) [@manny-camacho](https://forum.wixstudio.com/u/manny-camacho)\
**Post date:** [January 29, 2018, 5:38pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/11 "2018-01-29T17:38:50Z")

</div>

It’s still not working. I am soooooo confused! ☹

---

<div class="post-metadata">

**Author:** ![andreas-kviby](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/andreas-kviby/32/790_2.png) [@andreas-kviby](https://forum.wixstudio.com/u/andreas-kviby)\
**Post date:** [January 29, 2018, 5:40pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/12 "2018-01-29T17:40:01Z")

</div>

What error do you get in the developer console?

---

<div class="post-metadata">

**Author:** ![manny-camacho](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/manny-camacho/32/1247_2.png) [@manny-camacho](https://forum.wixstudio.com/u/manny-camacho)\
**Post date:** [January 29, 2018, 5:41pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/13 "2018-01-29T17:41:43Z")

</div>

I don’t get any.

 ![](https://us1.discourse-cdn.com/wix/original/3X/8/2/82ab0002c3bb082883fbb7efa7342b974bf63ea0.png)

---

<div class="post-metadata">

**Author:** ![manny-camacho](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/manny-camacho/32/1247_2.png) [@manny-camacho](https://forum.wixstudio.com/u/manny-camacho)\
**Post date:** [January 29, 2018, 5:47pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/14 "2018-01-29T17:47:52Z")

</div>

It hides all the buttons and not just the ones that do not belong to the current user.

---

<div class="post-metadata">

**Author:** ![andreas-kviby](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/andreas-kviby/32/790_2.png) [@andreas-kviby](https://forum.wixstudio.com/u/andreas-kviby)\
**Post date:** [January 29, 2018, 6:13pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/15 "2018-01-29T18:13:14Z")

</div>

ok, try this

```javascript
import wixUsers from 'wix-users';
import wixData from 'wix-data';

$w.onReady(function () {
	const currentUser = wixUsers.currentUser;
	if (currentUser.loggedIn) {
		currentUser.getEmail().then(email => {
	  wixData.query('Afiliados').eq('email', email).find()
	  .then(() => {
			$w("#repeater1").onItemReady( ($w, itemData) => {
	    	if (itemData.currentUser.loggedIn) {
	    		$w('#button9').show();
				} else {
					$w("#button9").hide();
				}
			});
		});
	});
	}
});

```

Also tell me what name is the field in the comments data collection that holds then userid? Or do you just store email?

---

<div class="post-metadata">

**Author:** ![manny-camacho](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/manny-camacho/32/1247_2.png) [@manny-camacho](https://forum.wixstudio.com/u/manny-camacho)\
**Post date:** [January 29, 2018, 7:22pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/16 "2018-01-29T19:22:28Z")

</div>

Still not working… ☹  
The userid is stored in the ‘Afiliados’ collection as ID, field key \_id. The id for each individual comment is stored in the ‘Comunidad’ collection as ID, field key \_id as well. These ID’s are created automatically. The userid is also inserted in the ‘Comunidad’ collection in the tittle field everytime a user makes a comment. I hope I’m explaining myself thoroughly.

---

<div class="post-metadata">

**Author:** ![andreas-kviby](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/andreas-kviby/32/790_2.png) [@andreas-kviby](https://forum.wixstudio.com/u/andreas-kviby)\
**Post date:** [January 29, 2018, 7:35pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/17 "2018-01-29T19:35:03Z")

</div>

Ok, but you are filtering the dataset on **email**?

wixData.query(‘Afiliados’).eq(‘email’, email).find()

**Maybe should be**

wixData.query(‘Afiliados’).eq(‘\_id’, currentUser).find()

---

<div class="post-metadata">

**Author:** ![manny-camacho](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/manny-camacho/32/1247_2.png) [@manny-camacho](https://forum.wixstudio.com/u/manny-camacho)\
**Post date:** [January 29, 2018, 8:23pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/18 "2018-01-29T20:23:51Z")

</div>

Nope. It’s not working. This is what I did:

```javascript
import wixUsers from 'wix-users';
import wixData from 'wix-data';

$w.onReady(function () {
	const currentUser = wixUsers.currentUser;
	if (currentUser.loggedIn) {
		currentUser.getEmail().then(currentUser => {
wixData.query('Afiliados').eq('_id', currentUser).find()

	  .then(() => {
			$w("#repeater1").onItemReady( ($w, itemData) => {
	    	if (itemData.currentUser.loggedIn) {
	    		$w('#button9').show();
				} else {
					$w("#button9").hide();
				}
			});
		});
	});
	}
});

```

---

<div class="post-metadata">

**Author:** ![manny-camacho](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/manny-camacho/32/1247_2.png) [@manny-camacho](https://forum.wixstudio.com/u/manny-camacho)\
**Post date:** [January 29, 2018, 8:40pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/19 "2018-01-29T20:40:39Z")

</div>

This code shows all the buttons but I need it to only show the buttons for the comments the current user made:

```javascript
import wixUsers from 'wix-users';
import wixData from 'wix-data';

$w.onReady(function () {
	const currentUser = wixUsers.currentUser;
	if (currentUser.loggedIn) {
		currentUser.getEmail().then(email => {
	  wixData.query('Afiliados').eq('email', email).find()
	  .then(() => {
			$w("#repeater1").onItemReady( ($w, itemData) => {
	    	if (itemData.currentUser.loggedIn) {
	    		$w('#button9').show();
				} else {
					$w("#button9").hide();
				}
			});
		});
	});
	}
});

```

---

<div class="post-metadata">

**Author:** ![manny-camacho](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/manny-camacho/32/1247_2.png) [@manny-camacho](https://forum.wixstudio.com/u/manny-camacho)\
**Post date:** [January 29, 2018, 8:51pm UTC](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902/20 "2018-01-29T20:51:00Z")

</div>

Actually, it’s not working at all.

[Next page](https://forum.wixstudio.com/t/enable-edit-buttons-for-comments-based-on-current-user/23902.md?page=2)
