当前位置: 首页>>代码示例>>Python>>正文


Python Report.buildDetail方法代码示例

本文整理汇总了Python中report.Report.buildDetail方法的典型用法代码示例。如果您正苦于以下问题:Python Report.buildDetail方法的具体用法?Python Report.buildDetail怎么用?Python Report.buildDetail使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在report.Report的用法示例。


在下文中一共展示了Report.buildDetail方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: record

# 需要导入模块: from report import Report [as 别名]
# 或者: from report.Report import buildDetail [as 别名]

#.........这里部分代码省略.........
                $(function(){
                    $("#add_new_author").click(function(){
                        $("#new_author_fields").toggle();
                     });
                });

        </script>

        <h3>%s</h3>
        """ % (
            self.autoCompleteList["author"],
            self.autoCompleteList["series"],
            self.header,
        )
        return html_header

    def buildMessage(self, updated, added):
        updates = ""
        adds = ""

        if updated:
            updates = "Updated: <br> "
            for item in updated:
                if item in self.columns:
                    d_name = self.columns[item][0]["display"]
                    updates += "%s changed to:  %s <br>" % (d_name, updated[item])
                else:
                    updates += "%s was %s <br>" % (item, updated[item])

        if added:
            adds = "Added: <br> "
            for item in added:
                adds += "%s: %s " % (item, added[item])

        message = "For this record the following fields were <br> %s %s" % (updates, adds)

        if not added and not updated:
            message = "Message: No fields changed, no updates made"

        return message

    def build_report(self):

        if self.activity == "view":
            # make a simple table, not a form
            report = self.report.buildDetail(self.book_id)

        else:
            report = self.report.buildEditBook(self.book_id)

        return report

    def build_input_button(self):
        input_button = """<div>
         <input type = "hidden" name = "book_id" value = "%s"/>
         <input type = "hidden" name = "activity" value = "%s"/>
         <input type = "button" value = "%s"
              onclick = "javascript: document.form.submit()";/>
         </div>""" % (
            self.book_id,
            self.new_activity,
            self.button_text,
        )
        return input_button

    def build_cancel_button(self):
        cancel_button = """
          <input type = "button" onClick = 
          "location.href='%s'" value = "%s">
           """ % (
            self.cancel_button_address,
            self.cancel_button_text,
        )
        return cancel_button

    def _getAutoCList(self):
        ##TO BE REPLACED BY query.getColumnValues when dict auto complete
        # is enabled

        """Behavior: populate acList{}
           with dic of lists to use by autocomplete fields"""
        aclist = {}

        for column in self.columns:
            resultsList = []

            if "form_type" in self.columns[column][0] and self.columns[column][0]["form_type"] == "autocomplete":

                sql = """select %s from %s group by %s_id
                """ % (
                    self.columns[column][0]["select"],
                    self.columns[column][0]["from"],
                    column,
                )
                results = execute(self.conn, sql)
                for item in results:
                    resultsList.append(item[0])
                    aclist[column] = resultsList

        return aclist
开发者ID:jzlink,项目名称:library,代码行数:104,代码来源:detailHTML.py

示例2: Detail

# 需要导入模块: from report import Report [as 别名]
# 或者: from report.Report import buildDetail [as 别名]
class Detail():

   def __init__(self):

      self.htmlUtils = HTMLutils()
      self.dynamicJS = DynamicJS()
      self.detailProcessor = DetailProcessor()

      #get form values
      form = cgi.FieldStorage(keep_blank_values = 1)
      self.form_values = {}
      keys =[]
      for k in form.keys():
         key = str(k)
         value = str(form.getvalue(key))
         self.form_values[key] = value

      self.book_id= self.form_values['book_id']
      self.activity= self.form_values['activity']

      self.message = ''
      
      #if the incoming activity is submit_new or update
      #send form items out to be processed by update processor
      if self.activity == 'submit_new' or self.activity == 'update':
         self.message, self.book_id =\
             self.detailProcessor.processForm(self.form_values)
         self.activity = 'view'

      #set builder variables for each possible activity page
      if self.activity == 'edit':
         self.report = Report('edit')
         self.table = self.report.buildRecordForm(book_id = self.book_id)
         self.header = 'Edit Record'
         self.page = 'edit'
         self.new_activity = 'update'
         self.button_text = 'Submit'
         self.show_blank = None
         self.cancel_button_text = 'Cancel'
         self.cancel_button_address = 'detail.py?book_id=%s&activity=view'\
             %self.book_id

      elif self.activity == 'view':
         self.report = Report('record')
         self.table = self.report.buildDetail(self.book_id)
         self.header = 'Book Record' 
         self.page = 'record'
         self.new_activity = 'edit'
         self.button_text = 'Edit'
         self.show_blank = '-'
         self.cancel_button_address = 'main.py'
         self.cancel_button_text = 'Back to Catalog'
         
      elif self.activity == 'add':
         self.report = Report('add')
         self.table = self.report.buildRecordForm()
         self.header = 'Enter New Record' 
         self.page = 'edit'
         self.new_activity = 'submit_new'
         self.button_text = 'Save'
         self.show_blank = ''
         self.cancel_button_address = 'main.py'
         self.cancel_button_text = 'Cancel'          

      else:
         raise Exception ("Unrecognized activity: %s" %self.activity)

   def buildPage(self):
      page = ''

      form_header = \
          self.htmlUtils.build_form_header('POST', 'detail.py', 'form')
      form_footer = self.htmlUtils.build_form_footer()
      html_footer = self.htmlUtils.build_html_footer()

      header = self.buildHeader()
      submit = self.buildInput()
      cancel = self.buildCancel()

      page += 'Content-Type: text/html\n'
      page += header
      page += '<br>'
      page += self.message
      page += form_header
      page += self.table
      page += '<br>'
      page += submit
      page += cancel
#      page += str(self.form_values)
      page += form_footer
      page += html_footer

      return page

   def buildHeader(self):
      '''call in dynamic js functions, add them to the header
      return header'''

      seriesHandler = self.dynamicJS.autoCSeries()
      authorHandler = self.dynamicJS.autoCAuthor()
#.........这里部分代码省略.........
开发者ID:jzlink,项目名称:library,代码行数:103,代码来源:detail.py


注:本文中的report.Report.buildDetail方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。