forked from enviPath/enviPy
[Fix] UI bugs, Registrations Mail, BTRules Popup, Legacy API fixes (#309)
Co-authored-by: Tim Lorsbach <tim@lorsba.ch> Reviewed-on: enviPath/enviPy#309
This commit is contained in:
@ -212,7 +212,7 @@ def get_user(request, user_uuid):
|
||||
|
||||
|
||||
class GroupMember(Schema):
|
||||
id: str = Field(None, alias="url")
|
||||
id: str
|
||||
identifier: str
|
||||
name: str
|
||||
|
||||
@ -228,7 +228,7 @@ class GroupSchema(Schema):
|
||||
members: List[GroupMember] = Field([], alias="members")
|
||||
name: str = Field(None, alias="name")
|
||||
ownerid: str = Field(None, alias="owner.url")
|
||||
ownername: str = Field(None, alias="owner.name")
|
||||
ownername: str = Field(None, alias="owner.get_name")
|
||||
packages: List["SimplePackage"] = Field([], alias="packages")
|
||||
readers: List[GroupMember] = Field([], alias="readers")
|
||||
writers: List[GroupMember] = Field([], alias="writers")
|
||||
@ -237,10 +237,10 @@ class GroupSchema(Schema):
|
||||
def resolve_members(obj: Group):
|
||||
res = []
|
||||
for member in obj.user_member.all():
|
||||
res.append(GroupMember(id=member.url, identifier="usermember", name=member.username))
|
||||
res.append(GroupMember(id=member.url, identifier="usermember", name=member.get_name()))
|
||||
|
||||
for member in obj.group_member.all():
|
||||
res.append(GroupMember(id=member.url, identifier="groupmember", name=member.name))
|
||||
res.append(GroupMember(id=member.url, identifier="groupmember", name=member.get_name()))
|
||||
|
||||
return res
|
||||
|
||||
@ -374,7 +374,7 @@ class PackageSchema(Schema):
|
||||
).values_list("user", flat=True)
|
||||
).distinct()
|
||||
|
||||
return [{u.id: u.name} for u in users]
|
||||
return [{u.id: u.get_name()} for u in users]
|
||||
|
||||
@staticmethod
|
||||
def resolve_writers(obj: Package):
|
||||
@ -384,7 +384,7 @@ class PackageSchema(Schema):
|
||||
).values_list("user", flat=True)
|
||||
).distinct()
|
||||
|
||||
return [{u.id: u.name} for u in users]
|
||||
return [{u.id: u.get_name()} for u in users]
|
||||
|
||||
@staticmethod
|
||||
def resolve_review_comment(obj):
|
||||
@ -966,7 +966,12 @@ def create_package_simple_rule(
|
||||
raise ValueError("Not yet implemented!")
|
||||
else:
|
||||
sr = SimpleAmbitRule.create(
|
||||
p, r.name, r.description, r.smirks, r.reactantFilterSmarts, r.productFilterSmarts
|
||||
p,
|
||||
r.name,
|
||||
r.description,
|
||||
r.smirks,
|
||||
r.reactantFilterSmarts,
|
||||
r.productFilterSmarts,
|
||||
)
|
||||
|
||||
return redirect(sr.url)
|
||||
@ -1119,7 +1124,7 @@ class ReactionSchema(Schema):
|
||||
name: str = Field(None, alias="name")
|
||||
pathways: List["SimplePathway"] = Field([], alias="related_pathways")
|
||||
products: List["ReactionCompoundStructure"] = Field([], alias="products")
|
||||
references: List[Dict[str, List[str]]] = Field([], alias="references")
|
||||
references: Dict[str, List[str]] = Field({}, alias="references")
|
||||
reviewStatus: str = Field(None, alias="review_status")
|
||||
scenarios: List["SimpleScenario"] = Field([], alias="scenarios")
|
||||
smirks: str = Field("", alias="smirks")
|
||||
@ -1135,8 +1140,12 @@ class ReactionSchema(Schema):
|
||||
|
||||
@staticmethod
|
||||
def resolve_references(obj: Reaction):
|
||||
# TODO
|
||||
return []
|
||||
rhea_refs = []
|
||||
for rhea in obj.get_rhea_identifiers():
|
||||
rhea_refs.append(f"{rhea.identifier_value}")
|
||||
|
||||
# TODO UniProt
|
||||
return {"rheaReferences": rhea_refs, "uniprotCount": []}
|
||||
|
||||
@staticmethod
|
||||
def resolve_medline_references(obj: Reaction):
|
||||
@ -1715,7 +1724,7 @@ class EdgeSchema(Schema):
|
||||
id: str = Field(None, alias="url")
|
||||
identifier: str = "edge"
|
||||
name: str = Field(None, alias="name")
|
||||
reactionName: str = Field(None, alias="edge_label.name")
|
||||
reactionName: str = Field(None, alias="edge_label.get_name")
|
||||
reactionURI: str = Field(None, alias="edge_label.url")
|
||||
reviewStatus: str = Field(None, alias="review_status")
|
||||
scenarios: List["SimpleScenario"] = Field([], alias="scenarios")
|
||||
@ -1764,7 +1773,7 @@ class CreateEdge(Schema):
|
||||
|
||||
|
||||
@router.post(
|
||||
"/package/{uuid:package_uuid}/üathway/{uuid:pathway_uuid}/edge",
|
||||
"/package/{uuid:package_uuid}/pathway/{uuid:pathway_uuid}/edge",
|
||||
response={200: str | Any, 403: Error},
|
||||
)
|
||||
def add_pathway_edge(request, package_uuid, pathway_uuid, e: Form[CreateEdge]):
|
||||
@ -1783,10 +1792,26 @@ def add_pathway_edge(request, package_uuid, pathway_uuid, e: Form[CreateEdge]):
|
||||
|
||||
if e.edgeAsSmirks:
|
||||
for ed in e.edgeAsSmirks.split(">>")[0].split("\\."):
|
||||
educts.append(Node.objects.get(pathway=pw, default_node_label__smiles=ed))
|
||||
stand_ed = FormatConverter.standardize(ed, remove_stereo=True)
|
||||
educts.append(
|
||||
Node.objects.get(
|
||||
pathway=pw,
|
||||
default_node_label=CompoundStructure.objects.get(
|
||||
compound__package=p, smiles=stand_ed
|
||||
).compound.default_structure,
|
||||
)
|
||||
)
|
||||
|
||||
for pr in e.edgeAsSmirks.split(">>")[1].split("\\."):
|
||||
products.append(Node.objects.get(pathway=pw, default_node_label__smiles=pr))
|
||||
stand_pr = FormatConverter.standardize(pr, remove_stereo=True)
|
||||
products.append(
|
||||
Node.objects.get(
|
||||
pathway=pw,
|
||||
default_node_label=CompoundStructure.objects.get(
|
||||
compound__package=p, smiles=stand_pr
|
||||
).compound.default_structure,
|
||||
)
|
||||
)
|
||||
else:
|
||||
for ed in e.educts.split(","):
|
||||
educts.append(Node.objects.get(pathway=pw, url=ed.strip()))
|
||||
@ -1799,7 +1824,7 @@ def add_pathway_edge(request, package_uuid, pathway_uuid, e: Form[CreateEdge]):
|
||||
start_nodes=educts,
|
||||
end_nodes=products,
|
||||
rule=None,
|
||||
name=e.name,
|
||||
name=None,
|
||||
description=e.edgeReason,
|
||||
)
|
||||
|
||||
@ -1936,7 +1961,7 @@ def get_model(request, package_uuid, model_uuid, c: Query[Classify]):
|
||||
if pr.rule:
|
||||
res["id"] = pr.rule.url
|
||||
res["identifier"] = pr.rule.get_rule_identifier()
|
||||
res["name"] = pr.rule.name
|
||||
res["name"] = pr.rule.get_name()
|
||||
res["reviewStatus"] = (
|
||||
"reviewed" if pr.rule.package.reviewed else "unreviewed"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user