Merge pull request #98 from erpnext/leave_reason

[new] On Chapter Leave member details not erased
This commit is contained in:
Vishal Dhayagude
2018-01-03 12:45:08 +05:30
committed by GitHub
7 changed files with 101 additions and 43 deletions

View File

@@ -33,3 +33,15 @@ def get_list_context(context):
context.no_breadcrumbs = True context.no_breadcrumbs = True
context.order_by = 'creation desc' context.order_by = 'creation desc'
context.introduction = '<p>All ERPNext Chapters</p>' context.introduction = '<p>All ERPNext Chapters</p>'
@frappe.whitelist()
def leave(title, user_id, leave_reason):
chapter = frappe.get_doc("Chapter", title)
for member in chapter.members:
if member.user == user_id:
member.enabled = 0
member.leave_reason = leave_reason
chapter.save(ignore_permissions=1)
frappe.db.commit()
return "Thank you for Feedback"

View File

@@ -9,14 +9,16 @@
{% endif %} {% endif %}
<h3>List of Members</h3> <h3>List of Members</h3>
{% if members %} {% if members %}
{% set flag = 1 -%}
<table class="table table-bordered small" style="max-width: 500px;"> <table class="table table-bordered small" style="max-width: 500px;">
<tr> <tr>
<th width="15%" ></th> <th width="15%" ></th>
<th>Member Details</th> <th>Member Details</th>
</tr> </tr>
{% for user in members %} {% for user in members %}
{% if user.enabled == 1 %}
<tr> <tr>
<td>{{ loop.index }}</td> <td>{{ flag }}</td>
<td> <td>
<div class="row"> <div class="row">
<div class="col-lg-6 col-md-6 col-sm-6">{{ frappe.db.get_value('User', user.user, 'full_name') }}</div> <div class="col-lg-6 col-md-6 col-sm-6">{{ frappe.db.get_value('User', user.user, 'full_name') }}</div>
@@ -33,6 +35,8 @@
</div> </div>
</td> </td>
</tr> </tr>
{% set flag = flag + 1 -%}
{% endif %}
{% endfor %} {% endfor %}
</table> </table>
{% else %} {% else %}

View File

@@ -2,14 +2,8 @@
<a href={{ route }}> <a href={{ route }}>
<h3>{{ doc.title }}</h3> <h3>{{ doc.title }}</h3>
<p> <p>
<span class="label">{{ frappe.db.get_value('User', chapter_head, 'full_name') }}</span> <span class="label"> Chapter Head : {{ frappe.db.get_value('User', chapter_head, 'full_name') }} </span>
<span class="label"> <!-- Assignment of value to global variable not working in jinja -->
{% if members %}
Members: {{ members|length }}
{% else %}
Members: 0
{% endif %}
</span>
</p> </p>
<p>{{ html2text(doc.introduction[:200]) }}{% if introduction|len > 200 %}...{% endif %}</p> <p>{{ html2text(doc.introduction[:200]) }}{% if introduction|len > 200 %}...{% endif %}</p>
</a> </a>

View File

@@ -132,6 +132,36 @@
"search_index": 0, "search_index": 0,
"set_only_once": 0, "set_only_once": 0,
"unique": 0 "unique": 0
},
{
"allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "leave_reason",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Leave Reason",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
} }
], ],
"has_web_view": 0, "has_web_view": 0,
@@ -144,7 +174,7 @@
"issingle": 0, "issingle": 0,
"istable": 1, "istable": 1,
"max_attachments": 0, "max_attachments": 0,
"modified": "2017-05-22 16:29:01.536405", "modified": "2017-11-15 02:09:49.082752",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "ERPNext Foundation", "module": "ERPNext Foundation",
"name": "Chapter Member", "name": "Chapter Member",

View File

@@ -4,7 +4,7 @@ def get_context(context):
context.no_cache = True context.no_cache = True
chapter = frappe.get_doc('Chapter', frappe.form_dict.name) chapter = frappe.get_doc('Chapter', frappe.form_dict.name)
if frappe.session.user!='Guest': if frappe.session.user!='Guest':
if frappe.session.user in [d.user for d in chapter.members]: if frappe.session.user in [d.user for d in chapter.members if d.enabled == 1]:
context.already_member = True context.already_member = True
else: else:
if frappe.request.method=='GET': if frappe.request.method=='GET':

View File

@@ -1,16 +1,42 @@
{% extends "templates/web.html" %} {% extends "templates/web.html" %}
<!--
{% macro chapter_button() %}
<p><a href="/{{ chapter.route }}" class='btn btn-primary'>
Go to Chapter Page</a></p>
{% endmacro %}
-->
{% block page_content %} {% block page_content %}
{% if member_deleted %} {% if member_deleted %}
<p>You are not a member of {{ chapter.title }}!</p> <p>You are not a member of {{ chapter.title }}!</p>
<div>
<form>
<div class="form-group">
<label for="leave">Why do you want to leave this chapter</label>
<input type="text" name="leave" class="form-control" id="leave">
</div>
<button type="button" class="btn btn-default btn-leave" data-title= "{{ chapter.title }}" id="btn-leave">Submit
</button>
</form>
</div>
<p>Please signup and login to join this chapter</p> <p>Please signup and login to join this chapter</p>
<p><a href="/join-chapter?name={{ chapter.name }}" class='btn btn-primary'>Become Member agian</a></p> <p><a href="/join-chapter?name={{ chapter.name }}" class='btn btn-primary'>Become Member agian</a></p>
{% endif %} {% endif %}
<script>
frappe.ready(function() {
$(".btn-leave").on("click", function() {
var leave = $("#leave").val();
var user_id = frappe.session.user;
var title = $(this).attr("data-title");
frappe.call({
method: 'foundation.erpnext_foundation.doctype.chapter.chapter.leave',
args: {
leave_reason: leave,
user_id: user_id,
title: title
},
callback: function(r) {
if(r.message) {
frappe.msgprint(r.message)
}
}
})
});
})
</script>
{% endblock %} {% endblock %}

View File

@@ -3,13 +3,5 @@ import frappe
def get_context(context): def get_context(context):
context.no_cache = True context.no_cache = True
chapter = frappe.get_doc('Chapter', frappe.form_dict.name) chapter = frappe.get_doc('Chapter', frappe.form_dict.name)
# if frappe.session.user!='Guest':
if frappe.session.user in [d.user for d in chapter.members]:
user = frappe.session.user
parent = frappe.form_dict.name
frappe.db.sql("""delete from `tabChapter Member` where parent = %s and user = %s """, (parent, user))
frappe.db.commit()
context.member_deleted = True context.member_deleted = True
context.chapter = chapter context.chapter = chapter