feat: project likes

This commit is contained in:
pateljannat
2021-02-24 10:52:25 +05:30
parent 97db066922
commit 063c7b67c5
3 changed files with 33 additions and 5 deletions

View File

@@ -12,11 +12,13 @@ var set_likes = function(liked, likes) {
};
// set initial
//set_likes(liked, likes);
/* frappe.call('community.www.hackathons.project.like', {project: frappe.form_dict.project}, (data) => {
set_likes(data.message.action =="Liked", data.message.likes)
}) */
// like - unlike
$('.btn-like').on('click', (e) => {
frappe.call('like', {project: $(e.target).attr("data-project")}, (data) => {
frappe.call('community.www.hackathons.project.like', {project: $(e.target).attr("data-project")}, (data) => {
set_likes(data.message.action =="Liked", data.message.likes);
});
});

View File

@@ -65,4 +65,28 @@ def join_request(id, action):
frappe.throw('A project cannot have more than 4 members')
frappe.db.set_value('Community Project Member', id, 'status', 'Accepted')
else:
frappe.db.set_value('Community Project Member', id, 'status', 'Rejected')
frappe.db.set_value('Community Project Member', id, 'status', 'Rejected')
def has_already_liked(project):
try:
likes = frappe.get_doc("Community Project Like", {"project": project, "owner": frappe.session.user})
return likes
except frappe.DoesNotExistError:
return None
@frappe.whitelist()
def like(project):
liked_project = has_already_liked(project)
if liked_project:
action= "Unliked"
liked_project.delete()
else:
action= "Liked"
frappe.get_doc({"doctype": "Community Project Like","project": project}).save()
likes = frappe.db.get_all("Community Project Like", {"project": project})
frappe.db.set_value("Community Project", project, "likes", len(likes))
return {
"action": action,
"likes": len(likes)
}