Ejemplo n.º 1
0
 def _queryDetails(self):
     dlg = QDialog(self)
     dlg.setWindowTitle('Login details for ticket tracker required')
     layout = QGridLayout()
     layout.addWidget(
         QLabel(
             'Please enter details for the ticket tracker. '
             'You can contact the instrument control group '
             'for help.', dlg))
     layout.addWidget(QLabel('Instrument name:', dlg))
     instrBox = QLineEdit(self.instrument, dlg)
     instrBox.setEnabled(self.instrument != 'none')
     layout.addWidget(instrBox)
     noinstrBox = QCheckBox('No instrument', dlg)
     noinstrBox.setChecked(self.instrument == 'none')
     noinstrBox.toggled.connect(lambda c: instrBox.setEnabled(not c))
     layout.addWidget(noinstrBox)
     layout.addWidget(QLabel('Username:'******'Password:'******'Login successful.  Your API key has been stored '
                       'for further reports.')
         settings = CompatSettings('nicos', 'secrets')
         settings.beginGroup('Redmine')
         if noinstrBox.isChecked():
             self.instrument = 'none'
         else:
             self.instrument = instrBox.text()
         self.apikey = apikey
         self.username = userBox.text()
         settings.setValue('instrument', self.instrument)
         settings.setValue('apikey', self.apikey)
         settings.setValue('username', self.username)
         if not self.instrument or not self.apikey:
             return False
         self.titleLabel.setText(
             'Submit a ticket for instrument "%s" (as user %s)' %
             (self.instrument, self.username))
         return True
Ejemplo n.º 2
0
 def __init__(self, parent):
     QDialog.__init__(self, parent)
     loadUi(self, 'panels/history_settings.ui')
     settings = CompatSettings()
     self._caches = settings.value('cachehosts') or []
     prefix = settings.value('keyprefix', 'nicos/')
     self.cacheBox.addItems(self._caches)
     self.prefixEdit.setText(prefix)
Ejemplo n.º 3
0
    def __init__(self, app):
        QMainWindow.__init__(self, None)
        self.app = app
        self.client = app  # used by the NewViewDialog

        # this is done in Panel.__init__ for the panel version
        self.settings = CompatSettings()
        self.loadSettings(self.settings)

        BaseHistoryWindow.__init__(self)
        self.splitter.setSizes([20, 80])

        DlgUtils.__init__(self, 'History viewer')

        self.actionAttachElog.setVisible(False)

        self.splitter.restoreState(self.splitterstate)

        self.setCentralWidget(self.splitter)
        self.newValue.connect(self.newvalue_callback)

        for toolbar in self.getToolbars():
            self.addToolBar(toolbar)
        for menu in self.getMenus():
            self.menuBar().addMenu(menu)
        self.actionFitLinear.trigger()
        self.statusBar = QStatusBar(self)
        self.setStatusBar(self.statusBar)
Ejemplo n.º 4
0
 def accept(self):
     settings = CompatSettings()
     cache = self.cacheBox.currentText()
     if cache in self._caches:
         self._caches.remove(cache)
     self._caches.insert(0, cache)
     settings.setValue('cachehosts', self._caches)
     settings.setValue('keyprefix', self.prefixEdit.text())
     QDialog.accept(self)
Ejemplo n.º 5
0
    def __init__(self, parent, client, **kwds):
        QDialog.__init__(self, parent)
        DlgUtils.__init__(self, self.toolName)
        loadUi(self, 'tools/bugreport.ui')

        settings = CompatSettings('nicos', 'secrets')
        settings.beginGroup('Redmine')
        self.instrument = settings.value('instrument', '')
        self.apikey = settings.value('apikey')
        self.username = settings.value('username')

        self.traceback = kwds.get('traceback')
        self.log_excerpt = kwds.get('log_excerpt', '')
        if not self.traceback:
            self.tbLabel.hide()
            self.scriptBox.hide()
        else:
            self.ticketType.setEnabled(False)  # always bug
            self.scriptBox.setChecked(True)
            self.subject.setText(self.traceback.splitlines()[-1].strip())

        self.stacker.setCurrentIndex(0)
        self.subject.setFocus()
        btn = self.buttonBox.addButton('Login details',
                                       QDialogButtonBox.ResetRole)
        btn.clicked.connect(self._queryDetails)

        if not redminelib:
            self.showError(
                'Reporting is not possible since the python-redmine '
                'module is not installed.')
            return  # don't add Submit button
        elif not self.instrument or not self.apikey:
            if not self._queryDetails():
                return

        self.buttonBox.addButton('Submit', QDialogButtonBox.AcceptRole)

        self.titleLabel.setText(
            'Submit a ticket for instrument "%s" (as user %s)' %
            (self.instrument, self.username))