def __init__(self): super().__init__() self.setTitle("Install Packages") self.setSubTitle( "Specify the packages you want to install into the virtual " "environment. Right-click on the item you want to install. " "You can install as many packages as you need. When finished " "click next.") self.console = ConsoleDialog() #]===================================================================[# #] PAGE CONTENT [#===================================================[# #]===================================================================[# grid_layout = QGridLayout(self) pkg_name_label = QLabel("Package &name:") self.pkg_name_line = QLineEdit() pkg_name_label.setBuddy(self.pkg_name_line) self.search_button = QPushButton("&Search", clicked=self.pop_results_table) # results table self.results_table = ResultsTable( selectionBehavior=QAbstractItemView.SelectRows, editTriggers=QAbstractItemView.NoEditTriggers, alternatingRowColors=True, sortingEnabled=True, doubleClicked=self.install_package, context_triggered=self.install_package # signal ) # adjust vertical headers v_header = self.results_table.verticalHeader() v_header.setDefaultSectionSize(28) v_header.hide() # adjust horizontal headers h_header = self.results_table.horizontalHeader() h_header.setDefaultAlignment(Qt.AlignLeft) h_header.setDefaultSectionSize(120) h_header.setStretchLastSection(True) h_header.setSectionResizeMode(QHeaderView.ResizeToContents) # item model self.results_model = QStandardItemModel(0, 2, self) self.results_table.setModel(self.results_model) grid_layout.addWidget(pkg_name_label, 0, 0, 1, 1) grid_layout.addWidget(self.pkg_name_line, 0, 1, 1, 1) grid_layout.addWidget(self.search_button, 0, 2, 1, 1) grid_layout.addWidget(self.results_table, 1, 0, 1, 3)
def results(request): #region GET if request.method == 'GET': queryset = ResultModel.objects.all() if not queryset.exists(): request.session.update( dict(error_message='No Results Available Yet')) return redirect('home') #endregion #region POST if request.method == 'POST': query = request.POST.get('search') queryset = ResultModel.objects.filter(winning_address=query) | ResultModel.objects.filter(winning_deposit=query)\ | ResultModel.objects.filter(losing_address=query) | ResultModel.objects.filter(losing_deposit=query)\ | ResultModel.objects.filter(txid=query) #endregion #region RETURN if queryset.exists(): queryset = queryset.order_by('-id') data_source = ModelDataSource( queryset[:100], fields=['id', 'winning_deposit', 'losing_deposit']) chart = flot.LineChart(data_source) form = ResultsSearchForm() table = ResultsTable(queryset) RequestConfig(request, paginate=dict(per_page=100)).configure(table) html_dtc = dict(table=table, form=form, chart=chart) error_message = request.session.get('error_message', False) if error_message: html_dtc.update(dict(error_message=error_message)) del request.session['error_message'] html_dtc.update(csrf(request)) return render(request, 'chikun/results.html', html_dtc) request.session.update(dict(error_message='No Result Found')) return redirect('results')