Merged PR 82: feat:アクション選択UIの改善
以下の内容を改修しました。 1.TASK581:アクションのカテゴリおよび並び順を設定できるようにする 2.各アクションは対応イベント以外に設置できないようにする 3.DB構造を変更しました。 * action: categoryidとnosort列追加 * category: アクションのカテゴリマスタ追加 * eventaction: アクションごと設置できないイベントIDを登録 4.デプロイの際、scripts\kintoneToolDB_20240820_update.sqlを実行してDBを更新してください。 Related work items: #524, #581
This commit is contained in:
@@ -281,9 +281,35 @@ def get_events(db: Session):
|
||||
raise HTTPException(status_code=404, detail="Data not found")
|
||||
return events
|
||||
|
||||
def get_category(db:Session):
|
||||
categorys=db.query(models.Category).all()
|
||||
return categorys
|
||||
|
||||
def get_eventactions(db: Session,eventid: str):
|
||||
#eveactions = db.query(models.Action).join(models.EventAction,models.EventAction.actionid == models.Action.id ).join(models.Event,models.Event.id == models.EventAction.eventid).filter(models.Event.eventid == eventid).all()
|
||||
eveactions = db.query(models.Action).join(models.EventAction,models.EventAction.actionid != models.Action.id and models.EventAction.eventid == eventid ).join(models.Event,models.Event.id == models.EventAction.eventid).filter(models.Event.eventid == eventid).all()
|
||||
#category = get_category(db)
|
||||
blackactions = (
|
||||
db.query(models.EventAction.actionid)
|
||||
.filter(models.EventAction.eventid == eventid)
|
||||
.subquery()
|
||||
)
|
||||
eveactions = (
|
||||
db.query(
|
||||
models.Action.id,
|
||||
models.Action.name,
|
||||
models.Action.title,
|
||||
models.Action.subtitle,
|
||||
models.Action.outputpoints,
|
||||
models.Action.property,
|
||||
models.Action.categoryid,
|
||||
models.Action.nosort,
|
||||
models.Category.categoryname)
|
||||
.join(models.Category,models.Category.id == models.Action.categoryid)
|
||||
.filter(models.Action.id.notin_(blackactions))
|
||||
.order_by(models.Category.nosort,models.Action.nosort)
|
||||
.all()
|
||||
)
|
||||
|
||||
if not eveactions:
|
||||
raise HTTPException(status_code=404, detail="Data not found")
|
||||
return eveactions
|
||||
|
||||
@@ -42,6 +42,8 @@ class Action(Base):
|
||||
subtitle = Column(String(500))
|
||||
outputpoints = Column(String)
|
||||
property = Column(String)
|
||||
categoryid = Column(Integer,ForeignKey("category.id"))
|
||||
nosort = Column(Integer)
|
||||
|
||||
class Flow(Base):
|
||||
__tablename__ = "flow"
|
||||
@@ -95,7 +97,7 @@ class Event(Base):
|
||||
class EventAction(Base):
|
||||
__tablename__ = "eventaction"
|
||||
|
||||
eventid = Column(Integer,ForeignKey("event.id"))
|
||||
eventid = Column(String(100),ForeignKey("event.eventid"))
|
||||
actionid = Column(Integer,ForeignKey("action.id"))
|
||||
|
||||
|
||||
@@ -115,4 +117,10 @@ class KintoneFormat(Base):
|
||||
typecolumn =Column(Integer)
|
||||
codecolumn =Column(Integer)
|
||||
field = Column(String(5000))
|
||||
trueformat = Column(String(10))
|
||||
trueformat = Column(String(10))
|
||||
|
||||
class Category(Base):
|
||||
__tablename__ = "category"
|
||||
|
||||
categoryname = Column(String(20))
|
||||
nosort = Column(Integer)
|
||||
@@ -89,7 +89,9 @@ class Action(BaseModel):
|
||||
subtitle: str = None
|
||||
outputpoints: str = None
|
||||
property: str = None
|
||||
|
||||
categoryid: int = None
|
||||
nosort: int
|
||||
categoryname : str =None
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
||||
|
||||
Reference in New Issue
Block a user