# ERPNext - web based ERP (http://erpnext.com) # Copyright (C) 2012 Web Notes Technologies Pvt Ltd # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . from __future__ import unicode_literals import webnotes from webnotes.utils import load_json, cint, cstr import json @webnotes.whitelist() def get_questions(): """get list of questions""" import json conds = '' if 'search_text' in webnotes.form_dict: conds = ' and t1.question like "%'+ webnotes.form_dict['search_text'] + '%"' if 'tag_filters' in webnotes.form_dict: tag_filters = json.loads(webnotes.form_dict['tag_filters']) for t in tag_filters: conds += ' and t1._user_tags like "%'+ t +'%"' return webnotes.conn.sql("""select t1.name, t1.owner, t1.question, t1.modified, t1._user_tags, t2.first_name, t2.last_name, (select count(*) from tabAnswer where tabAnswer.question = t1.name) as answers from tabQuestion t1, tabProfile t2 where t1.docstatus!=2 and t1.owner = t2.name %(conds)s order by t1.modified desc""" % {"conds":conds}, as_dict=1) # add a new question @webnotes.whitelist() def add_question(arg): args = load_json(arg) from webnotes.model.doc import Document d = Document('Question') d.question = args['question'] d.points = 1 d.save(1) if args['suggest']: from utilities.page.messages import messages for s in args['suggest']: if s: messages.post(json.dumps({ 'contact': s, 'txt': 'Please help me and answer the question "%s" in the Knowledge Base' % d.question, 'notify': 1 })) @webnotes.whitelist() def delete(arg): """ delete a question or answer (called from kb toolbar) """ args = load_json(arg) from webnotes.model import delete_doc delete_doc(args['dt'], args['dn'])