Merge branch 'master' into develop
This commit is contained in:
commit
889e456dab
@ -2,7 +2,7 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import frappe
|
import frappe
|
||||||
|
|
||||||
__version__ = '8.0.33'
|
__version__ = '8.0.34'
|
||||||
|
|
||||||
|
|
||||||
def get_default_company(user=None):
|
def get_default_company(user=None):
|
||||||
|
@ -75,7 +75,7 @@ class Opportunity(TransactionBase):
|
|||||||
self.lead = lead_name
|
self.lead = lead_name
|
||||||
|
|
||||||
def declare_enquiry_lost(self,arg):
|
def declare_enquiry_lost(self,arg):
|
||||||
if not self.has_lost_quotation():
|
if not self.has_active_quotation():
|
||||||
frappe.db.set(self, 'status', 'Lost')
|
frappe.db.set(self, 'status', 'Lost')
|
||||||
frappe.db.set(self, 'order_lost_reason', arg)
|
frappe.db.set(self, 'order_lost_reason', arg)
|
||||||
else:
|
else:
|
||||||
|
@ -11,43 +11,55 @@ def execute():
|
|||||||
|
|
||||||
# for converting student batch into student group
|
# for converting student batch into student group
|
||||||
frappe.reload_doctype("Student Group")
|
frappe.reload_doctype("Student Group")
|
||||||
student_batches = frappe.db.sql('''select name as student_group_name, student_batch_name as batch,
|
|
||||||
program, academic_year, academic_term from `tabStudent Batch`''', as_dict=1)
|
|
||||||
|
|
||||||
for student_batch in student_batches:
|
if frappe.db.table_exists("Student Batch"):
|
||||||
# create student batch name if does not exists !!
|
student_batches = frappe.db.sql('''select name as student_group_name, student_batch_name as batch,
|
||||||
if student_batch.get("batch") and not frappe.db.exists("Student Batch Name", student_batch.get("batch")):
|
program, academic_year, academic_term from `tabStudent Batch`''', as_dict=1)
|
||||||
frappe.get_doc({
|
|
||||||
"doctype": "Student Batch Name",
|
|
||||||
"batch_name": student_batch.get("batch")
|
|
||||||
}).insert(ignore_permissions=True)
|
|
||||||
|
|
||||||
student_batch.update({"doctype":"Student Group", "group_based_on": "Batch"})
|
for student_batch in student_batches:
|
||||||
doc = frappe.get_doc(student_batch)
|
# create student batch name if does not exists !!
|
||||||
student_list = frappe.db.sql('''select student, student_name, active from `tabStudent Batch Student`
|
if student_batch.get("batch") and not frappe.db.exists("Student Batch Name", student_batch.get("batch")):
|
||||||
where parent=%s''', (doc.name), as_dict=1)
|
frappe.get_doc({
|
||||||
for i, student in enumerate(student_list):
|
"doctype": "Student Batch Name",
|
||||||
student.update({"group_roll_number": i+1})
|
"batch_name": student_batch.get("batch")
|
||||||
|
}).insert(ignore_permissions=True)
|
||||||
|
|
||||||
if student_list:
|
student_batch.update({"doctype":"Student Group", "group_based_on": "Batch"})
|
||||||
doc.extend("students", student_list)
|
doc = frappe.get_doc(student_batch)
|
||||||
|
|
||||||
instructor_list = frappe.db.sql('''select instructor, instructor_name from `tabStudent Batch Instructor`
|
if frappe.db.sql("SHOW COLUMNS FROM `tabStudent Batch Student` LIKE 'active'"):
|
||||||
where parent=%s''', (doc.name), as_dict=1)
|
cond = ", active"
|
||||||
if instructor_list:
|
else:
|
||||||
doc.extend("instructors", instructor_list)
|
cond = " "
|
||||||
doc.save()
|
student_list = frappe.db.sql('''select student, student_name {cond} from `tabStudent Batch Student`
|
||||||
|
where parent=%s'''.format(cond=cond), (doc.name), as_dict=1)
|
||||||
|
|
||||||
|
if student_list:
|
||||||
|
for i, student in enumerate(student_list):
|
||||||
|
student.update({"group_roll_number": i+1})
|
||||||
|
doc.extend("students", student_list)
|
||||||
|
|
||||||
|
instructor_list = frappe.db.sql('''select instructor, instructor_name from `tabStudent Batch Instructor`
|
||||||
|
where parent=%s''', (doc.name), as_dict=1)
|
||||||
|
if instructor_list:
|
||||||
|
doc.extend("instructors", instructor_list)
|
||||||
|
doc.save()
|
||||||
|
|
||||||
# delete the student batch and child-table
|
# delete the student batch and child-table
|
||||||
frappe.delete_doc("DocType", "Student Batch", force=1)
|
if frappe.db.table_exists("Student Batch"):
|
||||||
frappe.delete_doc("DocType", "Student Batch Student", force=1)
|
frappe.delete_doc("DocType", "Student Batch", force=1)
|
||||||
frappe.delete_doc("DocType", "Student Batch Instructor", force=1)
|
if frappe.db.table_exists("Student Batch Student"):
|
||||||
|
frappe.delete_doc("DocType", "Student Batch Student", force=1)
|
||||||
|
if frappe.db.table_exists("Student Batch Instructor"):
|
||||||
|
frappe.delete_doc("DocType", "Student Batch Instructor", force=1)
|
||||||
|
|
||||||
# delete the student batch creation tool
|
# delete the student batch creation tool
|
||||||
frappe.delete_doc("DocType", "Student Batch Creation Tool", force=1)
|
if frappe.db.table_exists("Student Batch Creation Tool"):
|
||||||
|
frappe.delete_doc("DocType", "Student Batch Creation Tool", force=1)
|
||||||
|
|
||||||
# delete the student batch creation tool
|
# delete the student batch creation tool
|
||||||
frappe.delete_doc("DocType", "Attendance Tool Student", force=1)
|
if frappe.db.table_exists("Attendance Tool Student"):
|
||||||
|
frappe.delete_doc("DocType", "Attendance Tool Student", force=1)
|
||||||
|
|
||||||
# change the student batch to student group in the student attendance
|
# change the student batch to student group in the student attendance
|
||||||
frappe.reload_doctype("Student Attendance")
|
frappe.reload_doctype("Student Attendance")
|
||||||
|
@ -33,7 +33,7 @@ class StudentGroup(Document):
|
|||||||
program_enrollment = get_program_enrollment(self.academic_year, self.academic_term, self.program, self.batch, self.course)
|
program_enrollment = get_program_enrollment(self.academic_year, self.academic_term, self.program, self.batch, self.course)
|
||||||
students = [d.student for d in program_enrollment] if program_enrollment else None
|
students = [d.student for d in program_enrollment] if program_enrollment else None
|
||||||
for d in self.students:
|
for d in self.students:
|
||||||
if self.group_based_on != "Activity" and d.student not in students and d.active == 1:
|
if self.group_based_on != "Activity" and students and d.student not in students and d.active == 1:
|
||||||
frappe.throw(_("{0} - {1} is not enrolled in the given {2}".format(d.group_roll_number, d.student_name, self.group_based_on)))
|
frappe.throw(_("{0} - {1} is not enrolled in the given {2}".format(d.group_roll_number, d.student_name, self.group_based_on)))
|
||||||
if not frappe.db.get_value("Student", d.student, "enabled") and d.active:
|
if not frappe.db.get_value("Student", d.student, "enabled") and d.active:
|
||||||
frappe.throw(_("{0} - {1} is inactive student".format(d.group_roll_number, d.student_name)))
|
frappe.throw(_("{0} - {1} is inactive student".format(d.group_roll_number, d.student_name)))
|
||||||
|
@ -33,14 +33,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="text-center item-group-nav-buttons">
|
<div class="text-center item-group-nav-buttons">
|
||||||
{% if frappe.form_dict.start|int > 0 %}
|
{% if frappe.form_dict.start|int > 0 %}
|
||||||
<a class="btn btn-default" href="/{{ pathname }}?start={{ frappe.form_dict.start|int - page_length }}">{{ __("Prev") }}</a>
|
<a class="btn btn-default" href="/{{ pathname }}?start={{ frappe.form_dict.start|int - page_length }}">{{ _("Prev") }}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if items|length > page_length %}
|
{% if items|length > page_length %}
|
||||||
<a class="btn btn-default" href="/{{ pathname }}?start={{ frappe.form_dict.start|int + page_length }}">{{ __("Next") }}</a>
|
<a class="btn btn-default" href="/{{ pathname }}?start={{ frappe.form_dict.start|int + page_length }}">{{ _("Next") }}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="text-muted">{{ __("No items listed") }}.</div>
|
<div class="text-muted">{{ _("No items listed") }}.</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user