Exemplo n.º 1
0
def add_attribute(attribute: Attribute):
    sql_text = '''
                INSERT INTO attributes(name,is_required,create_time,create_op,delete_state)
                VALUES ('{}', {}, '{}', {}, {})''' \
        .format(attribute.name(), attribute.is_required(), attribute.create_time(), attribute.create_op(),
                attribute.delete_state())
    return execute(sql_text)
Exemplo n.º 2
0
    def _init_checkbox(self):
        all_attr_list = attribute_handler.get_all_attributes()
        if self.service_id:
            self.checked_dict = self._get_service_attribute()
        row = 0
        column = 0
        model = QtGui.QStandardItemModel()
        for attr in all_attr_list:
            item = QtGui.QStandardItem(attr[1])

            if attr[3] == Attribute.required():
                # 如果是必填,则默认勾选,同时不允许修改
                item.setCheckState(Qt.Checked)
                item.setFlags(QtCore.Qt.NoItemFlags)
            else:
                item.setFlags(QtCore.Qt.ItemIsUserCheckable
                              | QtCore.Qt.ItemIsEnabled)
                # 如果该属性已经关联了服务项目,则默认勾选
                if attr[0] not in self.checked_dict:
                    item.setCheckState(Qt.Unchecked)
                else:
                    item.setCheckState(Qt.Checked)

            self.checkbox_dict[attr[0]] = item

            model.setItem(row, column, item)
            # 表格中每行显示5条记录
            column += 1
            if column >= 5:
                row += 1
                column = 0

        self.tableView.horizontalHeader().setStretchLastSection(True)
        self.tableView.setModel(model)
Exemplo n.º 3
0
def get_all_option_attributes():
    sql_text = '''SELECT id, name
                            FROM attributes
                           WHERE delete_state = 0
                             and is_required = {}
                            ORDER BY display_order, name
                           ''' \
        .format(Attribute.option())
    return execute(sql_text)
Exemplo n.º 4
0
def get_all_required_attributes():
    sql_text = '''SELECT id, name
                        FROM attributes
                       WHERE delete_state = 0
                         and is_required = {}
                        ORDER BY name
                       ''' \
        .format(Attribute.required())
    return execute(sql_text)
Exemplo n.º 5
0
 def do_add(self):
     attr_name, ok = QInputDialog.getText(self.add, '新增属性', '请输入属性名')
     if attr_name and ok:
         exists_info = attribute_handler.get_count_by_name(attr_name)
         if exists_info:
             if not exists_info[1]:
                 QMessageBox.information(self.add, '提示', '该属性已经存在,请重新输入')
                 return
             else:
                 attribute_handler.undo_delete_attribute_logical(
                     exists_info[2])
         else:
             attribute = Attribute()
             attribute.create_op(Common.config.login_user_info[0])
             attribute.name(attr_name)
             attribute.create_time(time_utils.get_now())
             attribute_handler.add_attribute(attribute)
             QMessageBox.information(self.add, '提示', '新增成功')
             self._init_table()
Exemplo n.º 6
0
def get_attr_by_name(attr_name):
    sql_text = '''select id, name from attributes where name = '{}' and delete_state = 0 and is_required = {}''' \
        .format(attr_name, Attribute.option())
    return execute(sql_text, True)
 def test_attribute_string_conversion(self):
     attribute_name = 'Strength'
     attribute = Attribute(attribute_name, [])
     self.assertEqual(str(attribute), attribute_name + ': 0 + 0 = 0')