Skip to content

Commit faa99c9

Browse files
committed
refactor: remove approve action + opinionated reviews
1 parent 75b64b9 commit faa99c9

File tree

11 files changed

+0
-149
lines changed

11 files changed

+0
-149
lines changed

invenio_requests/assets/semantic-ui/js/invenio_requests/components/Buttons.js

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -123,45 +123,6 @@ export const CancelButton = React.forwardRef((props, ref) => {
123123

124124
CancelButton.displayName = "CancelButton";
125125

126-
export const RequestApproveButton = ({
127-
onClick,
128-
loading,
129-
ariaAttributes,
130-
size,
131-
content = i18next.t("Approve"),
132-
className,
133-
}) => {
134-
return (
135-
<Button
136-
icon="checkmark"
137-
labelPosition="left"
138-
content={content}
139-
onClick={onClick}
140-
loading={loading}
141-
disabled={loading}
142-
size={size}
143-
positive
144-
className={className}
145-
{...ariaAttributes}
146-
/>
147-
);
148-
};
149-
150-
RequestApproveButton.propTypes = {
151-
onClick: PropTypes.func.isRequired,
152-
requestType: PropTypes.string.isRequired,
153-
loading: PropTypes.bool,
154-
ariaAttributes: PropTypes.object,
155-
size: PropTypes.string,
156-
className: PropTypes.string,
157-
};
158-
159-
RequestApproveButton.defaultProps = {
160-
loading: false,
161-
ariaAttributes: {},
162-
size: "mini",
163-
className: "",
164-
};
165126

166127
export const RequestCancelButton = ({
167128
onClick,

invenio_requests/assets/semantic-ui/js/invenio_requests/components/ModalTriggers.js

Lines changed: 0 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import {
1414
RequestSubmitButton,
1515
RequestCancelButton,
1616
RequestDeclineButton,
17-
RequestApproveButton,
1817
} from "./Buttons";
1918

2019
const { MediaContextProvider, Media } = AppMedia;
@@ -119,58 +118,6 @@ RequestAcceptModalTrigger.propTypes = {
119118
className: PropTypes.string,
120119
};
121120

122-
export const RequestApproveModalTrigger = ({
123-
onClick,
124-
requestType,
125-
loading,
126-
ariaAttributes,
127-
size,
128-
className,
129-
}) => {
130-
return (
131-
<MediaContextProvider>
132-
<Media greaterThanOrEqual="tablet">
133-
<RequestApproveButton
134-
onClick={onClick}
135-
loading={loading}
136-
disabled={loading}
137-
requestType={requestType}
138-
size={size}
139-
className={className}
140-
{...ariaAttributes}
141-
/>
142-
</Media>
143-
<Media at="mobile">
144-
<Dropdown.Item
145-
icon={{
146-
name: "checkmark",
147-
color: "positive",
148-
className: "mr-5",
149-
}}
150-
onClick={onClick}
151-
content={i18next.t("Approve")}
152-
/>
153-
</Media>
154-
</MediaContextProvider>
155-
);
156-
};
157-
158-
RequestApproveModalTrigger.propTypes = {
159-
onClick: PropTypes.func.isRequired,
160-
requestType: PropTypes.string.isRequired,
161-
loading: PropTypes.bool,
162-
ariaAttributes: PropTypes.object,
163-
size: PropTypes.string,
164-
className: PropTypes.string,
165-
};
166-
167-
RequestApproveModalTrigger.defaultProps = {
168-
loading: false,
169-
ariaAttributes: {},
170-
size: "mini",
171-
className: "ml-5",
172-
};
173-
174121
export const RequestCancelModalTrigger = ({
175122
onClick,
176123
loading,

invenio_requests/assets/semantic-ui/js/invenio_requests/contrib/index.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,12 @@ import {
2323
} from "@js/invenio_requests/contrib";
2424
import {
2525
RequestAcceptButton,
26-
RequestApproveButton,
2726
RequestCancelButton,
2827
RequestDeclineButton,
2928
RequestSubmitButton,
3029
} from "@js/invenio_requests/components/Buttons";
3130
import {
3231
RequestAcceptModalTrigger,
33-
RequestApproveModalTrigger,
3432
RequestDeclineModalTrigger,
3533
RequestCancelModalTrigger,
3634
RequestSubmitModalTrigger,
@@ -63,9 +61,7 @@ export const defaultContribComponents = {
6361
[`RequestActionButton.decline`]: RequestDeclineButton,
6462
[`RequestActionButton.submit`]: RequestSubmitButton,
6563
[`RequestActionButton.accept`]: RequestAcceptButton,
66-
[`RequestActionButton.approve`]: RequestApproveButton,
6764
[`RequestActionModalTrigger.accept`]: RequestAcceptModalTrigger,
68-
[`RequestActionModalTrigger.approve`]: RequestApproveModalTrigger,
6965
[`RequestActionModalTrigger.decline`]: RequestDeclineModalTrigger,
7066
[`RequestActionModalTrigger.cancel`]: RequestCancelModalTrigger,
7167
[`RequestActionModalTrigger.submit`]: RequestSubmitModalTrigger,

invenio_requests/assets/semantic-ui/js/invenio_requests/requestsAppInit.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import {
2222
} from "./request";
2323
import {
2424
TimelineAcceptEvent,
25-
TimelineApproveEvent,
2625
TimelineCancelEvent,
2726
TimelineCommentDeletionEvent,
2827
TimelineDeclineEvent,
@@ -41,7 +40,6 @@ const defaultComponents = {
4140
"TimelineEvent.layout.unknown": TimelineUnknownEvent,
4241
"TimelineEvent.layout.declined": TimelineDeclineEvent,
4342
"TimelineEvent.layout.accepted": TimelineAcceptEvent,
44-
"TimelineEvent.layout.approved": TimelineApproveEvent,
4543
"TimelineEvent.layout.expired": TimelineExpireEvent,
4644
"TimelineEvent.layout.cancelled": TimelineCancelEvent,
4745
"TimelineEvent.layout.comment_deleted": TimelineCommentDeletionEvent,

invenio_requests/assets/semantic-ui/js/invenio_requests/timelineEvents/timelineActionEvents.js

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,6 @@ TimelineAcceptEvent.propTypes = {
2323
event: PropTypes.object.isRequired,
2424
};
2525

26-
export const TimelineApproveEvent = ({ event }) => (
27-
<TimelineActionEvent
28-
iconName="check circle"
29-
iconColor="positive"
30-
event={event}
31-
eventContent={i18next.t("approved this request")}
32-
/>
33-
);
34-
35-
TimelineApproveEvent.propTypes = {
36-
event: PropTypes.object.isRequired,
37-
};
38-
3926
export const TimelineDeclineEvent = ({ event }) => (
4027
<TimelineActionEvent
4128
iconName="close"

invenio_requests/customizations/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
from .actions import (
1212
AcceptAction,
13-
ApproveAction,
1413
CancelAction,
1514
CreateAction,
1615
CreateAndSubmitAction,
@@ -27,7 +26,6 @@
2726

2827
__all__ = (
2928
"AcceptAction",
30-
"ApproveAction",
3129
"CancelAction",
3230
"CommentEventType",
3331
"CreateAction",

invenio_requests/customizations/actions.py

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88

99
"""Base class for customizable actions on requests."""
1010

11-
from datetime import datetime
12-
1311
from ..errors import NoSuchActionError
1412
from ..proxies import current_events_service
1513
from .event_types import LogEventType
@@ -151,28 +149,3 @@ class ExpireAction(RequestAction):
151149

152150
status_from = ["submitted"]
153151
status_to = "expired"
154-
155-
156-
class ApproveAction(RequestAction):
157-
"""Approve a request."""
158-
159-
status_from = ["submitted"]
160-
status_to = "submitted"
161-
162-
def execute(self, identity, uow):
163-
"""Execute the request action."""
164-
self.request.status = self.status_to
165-
# check if identity is a reviewer then add it to the lastOpiniatedReview
166-
# new_reviewer = {"user": identity.id, "state": "approved"}
167-
# set_of_reviewers = set(self.request.reviewers)
168-
# set_of_reviewers.add(new_reviewer)
169-
# self.request.reviewers = list(set_of_reviewers)
170-
# breakpoint()
171-
event = LogEventType(payload=dict(event="approved"))
172-
_data = dict(payload=event.payload)
173-
current_events_service.create(identity, self.request.id, _data, event, uow=uow)
174-
self.request.lastOpiniatedReviews = {
175-
"user": str(identity.id),
176-
"state": "approved",
177-
"timestamp": datetime.now().isoformat(),
178-
}

invenio_requests/customizations/request_types.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
from ..proxies import current_requests
2222
from .actions import (
2323
AcceptAction,
24-
ApproveAction,
2524
CancelAction,
2625
CreateAction,
2726
DeclineAction,
@@ -112,7 +111,6 @@ class RequestType:
112111
"submit": SubmitAction,
113112
"delete": DeleteAction,
114113
"accept": AcceptAction,
115-
"approve": ApproveAction,
116114
"decline": DeclineAction,
117115
"cancel": CancelAction,
118116
"expire": ExpireAction,

invenio_requests/records/api.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,6 @@ class Request(Record):
8686
reviewers = MultiEntityReferenceField("reviewers", check_allowed_reviewers)
8787
"""The entity that will receive the request."""
8888

89-
lastOpiniatedReviews = DictField("last_opiniated_reviews")
90-
"""The last opiniated reviews of the request."""
91-
9289
status = RequestStatusField("status")
9390
"""The current status of the request."""
9491

invenio_requests/records/jsonschemas/requests/request-v1.0.0.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,6 @@
4242
"items": {
4343
"$ref": "local://definitions-v1.0.0.json#/entity_reference"
4444
}
45-
},
46-
"last_opiniated_reviews": {
47-
"$ref": "local://requests/definitions-v1.0.0.json#/anything"
4845
}
4946
}
5047
}

0 commit comments

Comments
 (0)