Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lending system frontend #4219

Open
wants to merge 50 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 47 commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
51f8221
WIP
eikhr Oct 4, 2023
7b589cd
Add form modal on lending object page and start on admin page
juniwbjerde Oct 12, 2023
5cfa8cd
Add redux actions and form for creating lendable objects
eikhr Oct 19, 2023
04cc608
Change Card and Modal imports to use lego-bricks
juniwbjerde Nov 7, 2023
c442c61
Fix most comments
juniwbjerde Nov 7, 2023
c87c0c2
Replace custom header style with header tag
Bestem0r Jan 16, 2024
8e580ba
Remove unnecessary commenting
Bestem0r Jan 16, 2024
28637fe
Add navigation to request approval
Bestem0r Jan 16, 2024
87c872f
Remove form spy debug
Bestem0r Jan 16, 2024
da0a464
Replace browse button with edit button
Bestem0r Jan 16, 2024
de8e4bd
Add buttons to create and approve objects
Bestem0r Jan 16, 2024
3cc46e9
Graphical interface for admin and "my requests"
itsisak Feb 1, 2024
7b1d9ea
Move request to own component and minor gui fixes
itsisak Feb 3, 2024
394baa6
Rebase and update to use react-router v6
itsisak Feb 4, 2024
714ef1c
Connect backend api to lendable objects
Bestem0r Feb 6, 2024
14b781d
Fix description display
Bestem0r Feb 6, 2024
8308a81
Add data to LendableObjectEdit
Bestem0r Feb 6, 2024
6c79a4f
Change cards to links and update routing
itsisak Feb 6, 2024
3bf8096
Merge remote-tracking branch 'origin/lending-system' into lending-system
Bestem0r Feb 15, 2024
20ce046
Add groups to editor
Bestem0r Feb 15, 2024
1d05a51
Fix lendable object editing
Bestem0r Feb 15, 2024
e260218
Add lendable object deletion
Bestem0r Feb 15, 2024
4122d2d
Move temporary data to own fixtures file
itsisak Feb 15, 2024
6826245
Connect backend api to lendingrequests
itsisak Feb 17, 2024
9dd124d
Add lending request creation
Bestem0r Mar 5, 2024
4d95e0d
Fix start/end date fields
Bestem0r Mar 5, 2024
cfc7d34
Add lendable object to instance in selector
Bestem0r Mar 5, 2024
f800283
Fix routing, add selector for single lending request
Bestem0r Mar 12, 2024
4d102a9
Add data fetching to admin page
Bestem0r Mar 18, 2024
71bb3f3
Improve LendableObjectsList css
itsisak Apr 16, 2024
b2de547
Merge branch 'main' into lending-system
Bestem0r Apr 23, 2024
cb9680c
update success-color
ShaileshS1702 Apr 23, 2024
969ddc7
Merge branch 'lending-system' of github.com:webkom/lego-webapp into l…
ShaileshS1702 Apr 23, 2024
41ae5f3
Refactor to lego adapter
Bestem0r Apr 23, 2024
4044ab9
Merge remote-tracking branch 'origin/lending-system' into lending-system
Bestem0r Apr 23, 2024
ab2fd9d
Remove frontend fixtures and bug fixes
itsisak Apr 24, 2024
89f4d7f
Remove temp-data from frontend. Fix crashing bugs
itsisak Apr 25, 2024
e665f03
Fix comments
Bestem0r Apr 29, 2024
81f5fc9
Fix a ton of comments
Bestem0r Apr 30, 2024
1617206
Type LendableObjectEdit form
itsisak Apr 30, 2024
b9a1543
Add skeleton, reformat with prettier
Bestem0r Apr 30, 2024
c47812e
Fix comments
Bestem0r May 1, 2024
e99b378
Fix lending admin style and bugs, remove global td styling in bricks
Bestem0r May 1, 2024
f1ff1f1
Remove unnecessary type 'Params'
itsisak May 4, 2024
ba663a9
Revert "Remove unnecessary type 'Params'"
itsisak May 5, 2024
7d09e24
Properly type Params
itsisak May 5, 2024
2506bda
Fix comments
itsisak May 9, 2024
d4e091a
Merge branch 'master' into lending-system
eikhr Jul 4, 2024
0af454b
Update for new page layout components
eikhr Jul 5, 2024
e597802
Merge branch 'master' into lending-system
eikhr Jul 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 16 additions & 84 deletions app/actions/ActionTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ export const generateStatuses = (name: string): AsyncActionType => ({
// Create shorthand to make code format cleaner
type AAT = AsyncActionType;

/**
*
*/
export const Event = {
CLEAR: 'Event.CLEAR',
FETCH: generateStatuses('Event.FETCH') as AAT,
Expand Down Expand Up @@ -39,46 +36,31 @@ export const Event = {
FETCH_FOLLOWERS: generateStatuses('Event.FETCH_FOLLOWERS') as AAT,
};

/**
*
*/
export const Article = {
FETCH: generateStatuses('Article.FETCH') as AAT,
CREATE: generateStatuses('Article.CREATE') as AAT,
EDIT: generateStatuses('Article.EDIT') as AAT,
DELETE: generateStatuses('Article.DELETE') as AAT,
};

/**
*
*/
export const EmailList = {
FETCH: generateStatuses('EmailList.FETCH') as AAT,
CREATE: generateStatuses('EmailList.CREATE') as AAT,
EDIT: generateStatuses('EmailList.EDIT') as AAT,
};

/**
*
*/
export const RestrictedMail = {
FETCH: generateStatuses('RestrictedMail.FETCH') as AAT,
CREATE: generateStatuses('RestrictedMail.CREATE') as AAT,
EDIT: generateStatuses('RestrictedMail.EDIT') as AAT,
};

/**
*
*/
export const EmailUser = {
FETCH: generateStatuses('EmailUser.FETCH') as AAT,
CREATE: generateStatuses('EmailUser.CREATE') as AAT,
EDIT: generateStatuses('EmailUser.EDIT') as AAT,
};

/**
*
*/
export const Gallery = {
FETCH: generateStatuses('Gallery.FETCH') as AAT,
CREATE: generateStatuses('Gallery.CREATE') as AAT,
Expand All @@ -90,9 +72,6 @@ export const ImageGallery = {
FETCH_ALL: generateStatuses('ImageGallery.FETCH_ALL') as AAT,
};

/**
*
*/
export const GalleryPicture = {
FETCH: generateStatuses('GalleryPicture.FETCH') as AAT,
FETCH_SIBLING: generateStatuses('GalleryPicture.FETCH_SIBLING') as AAT,
Expand All @@ -102,29 +81,20 @@ export const GalleryPicture = {
UPLOAD: generateStatuses('GalleryPicture.UPLOAD') as AAT,
};

/**
*
*/
export const Joblistings = {
FETCH: generateStatuses('Joblistings.FETCH') as AAT,
CREATE: generateStatuses('Joblistings.CREATE') as AAT,
EDIT: generateStatuses('Joblistings.EDIT') as AAT,
DELETE: generateStatuses('Joblistings.DELETE') as AAT,
};

/**
*
*/
export const Announcements = {
FETCH_ALL: generateStatuses('Announcements.FETCH_ALL') as AAT,
CREATE: generateStatuses('Announcements.CREATE') as AAT,
SEND: generateStatuses('Announcements.SEND') as AAT,
DELETE: generateStatuses('Announcements.DELETE') as AAT,
};

/**
*
*/
export const Meeting = {
FETCH: generateStatuses('Meeting.FETCH') as AAT,
SET_INVITATION_STATUS: generateStatuses(
Expand All @@ -138,9 +108,6 @@ export const Meeting = {
) as AAT,
};

/**
*
*/
export const Group = {
FETCH: generateStatuses('Group.FETCH') as AAT,
UPDATE: generateStatuses('Group.UPDATE') as AAT,
Expand All @@ -164,24 +131,15 @@ export const Membership = {
LEAVE_GROUP: generateStatuses('Membership.LEAVE_GROUP') as AAT,
};

/**
*
*/
export const Favorite = {
FETCH_ALL: generateStatuses('Favorite.FETCH_ALL') as AAT,
};

/**
*
*/
export const Comment = {
ADD: generateStatuses('Comment.ADD') as AAT,
DELETE: generateStatuses('Comment.DELETE') as AAT,
};

/**
*
*/
export const Company = {
FETCH: generateStatuses('Company.FETCH') as AAT,
FETCH_COMPANY_CONTACT: generateStatuses(
Expand All @@ -205,9 +163,6 @@ export const Company = {
EDIT_SEMESTER: generateStatuses('Company.EDIT_SEMESTER') as AAT,
};

/**
*
*/
export const Quote = {
FETCH: generateStatuses('Quote.FETCH') as AAT,
FETCH_ALL_APPROVED: generateStatuses('Quote.FETCH_ALL_APPROVED') as AAT,
Expand All @@ -219,9 +174,6 @@ export const Quote = {
ADD: generateStatuses('Quote.ADD') as AAT,
};

/**
*
*/
export const Search = {
SEARCH: generateStatuses('Search.SEARCH') as AAT,
AUTOCOMPLETE: generateStatuses('Search.AUTOCOMPLETE') as AAT,
Expand All @@ -235,9 +187,6 @@ export const NotificationsFeed = {
MARK: generateStatuses('NotificationsFeed.MARK') as AAT,
};

/**
*
*/
export const User = {
FETCH: generateStatuses('User.FETCH') as AAT,
UPDATE: generateStatuses('User.UPDATE') as AAT,
Expand Down Expand Up @@ -267,26 +216,17 @@ export const Penalty = {
DELETE: generateStatuses('Penalty.DELETE') as AAT,
};

/**
*
*/
export const Page = {
FETCH: generateStatuses('Page.FETCH') as AAT,
CREATE: generateStatuses('Page.CREATE') as AAT,
UPDATE: generateStatuses('Page.UPDATE') as AAT,
DELETE: generateStatuses('Page.DELETE') as AAT,
};

/**
*
*/
export const Bdb = {
FETCH: generateStatuses('Bdb.FETCH') as AAT,
};

/**
*
*/
export const Survey = {
FETCH: generateStatuses('Survey.FETCH') as AAT,
ADD: generateStatuses('Survey.ADD') as AAT,
Expand All @@ -295,9 +235,6 @@ export const Survey = {
HIDE: generateStatuses('Survey.HIDE') as AAT,
};

/**
*
*/
export const SurveySubmission = {
FETCH_ALL: generateStatuses('SurveySubmission.FETCH_ALL') as AAT,
FETCH: generateStatuses('SurveySubmission.FETCH') as AAT,
Expand All @@ -311,25 +248,16 @@ export const Emoji = {
FETCH_ALL: generateStatuses('Emoji.FETCH_ALL') as AAT,
};

/**
*
*/
export const File = {
FETCH_SIGNED_POST: generateStatuses('File.FETCH_SIGNED_POST') as AAT,
UPLOAD: generateStatuses('File.UPLOAD') as AAT,
PATCH: generateStatuses('File.PATCH') as AAT,
};

/**
*
*/
export const Feed = {
FETCH: generateStatuses('Feed.FETCH') as AAT,
};

/**
*
*/
export const OAuth2 = {
FETCH_APPLICATIONS: generateStatuses('OAuth2.FETCH_APPLICATIONS') as AAT,
FETCH_APPLICATION: generateStatuses('OAuth2.FETCH_APPLICATION') as AAT,
Expand All @@ -339,9 +267,6 @@ export const OAuth2 = {
DELETE_GRANT: generateStatuses('OAuth2.DELETE_GRANT') as AAT,
};

/**
*
*/
export const NotificationSettings = {
FETCH_ALTERNATIVES: generateStatuses(
'NotificationSettings.FETCH_ALTERNATIVES',
Expand All @@ -350,16 +275,10 @@ export const NotificationSettings = {
UPDATE: generateStatuses('NotificationSettings.UPDATE') as AAT,
};

/**
*
*/
export const Contact = {
SEND_MESSAGE: generateStatuses('Contact.SEND_MESSAGE') as AAT,
};

/**
*
*/
export const Meta = {
FETCH: generateStatuses('Meta.FETCH') as AAT,
};
Expand All @@ -383,14 +302,27 @@ export const Poll = {
UPDATE: generateStatuses('Poll.UPDATE') as AAT,
};

/**
*
*/
export const Reaction = {
ADD: generateStatuses('Reaction.ADD') as AAT,
DELETE: generateStatuses('Reaction.DELETE') as AAT,
};

export const LendableObject = {
FETCH_ALL: generateStatuses('LendableObject.FETCH_ALL') as AAT,
FETCH: generateStatuses('LendableObject.FETCH') as AAT,
CREATE: generateStatuses('LendableObject.CREATE') as AAT,
EDIT: generateStatuses('LendableObject.EDIT') as AAT,
DELETE: generateStatuses('LendableObject.DELETE') as AAT,
};

export const LendingRequest = {
FETCH_ALL: generateStatuses('LendingRequest.FETCH_ALL') as AAT,
FETCH: generateStatuses('LendingRequest.FETCH') as AAT,
CREATE: generateStatuses('LendingRequest.CREATE') as AAT,
EDIT: generateStatuses('LendingRequest.EDIT') as AAT,
DELETE: generateStatuses('LendingRequest.DELETE') as AAT,
};

export const Forum = {
FETCH_ALL: generateStatuses('Forum.FETCH_ALL') as AAT,
CREATE: generateStatuses('Forum.CREATE') as AAT,
Expand Down
69 changes: 69 additions & 0 deletions app/actions/LendableObjectActions.ts
itsisak marked this conversation as resolved.
Show resolved Hide resolved
ShaileshS1702 marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
import callAPI from 'app/actions/callAPI';
import { lendableObjectSchema } from 'app/reducers';
import { LendableObject } from './ActionTypes';
import type { EntityId } from '@reduxjs/toolkit';
import type {
DetailedLendableObject,
ListLendableObject,
} from 'app/store/models/LendableObject';

export function fetchAllLendableObjects() {
return callAPI<ListLendableObject[]>({
types: LendableObject.FETCH,
endpoint: '/lendableobject/',
schema: [lendableObjectSchema],
meta: {
errorMessage: 'Henting av utlånsobjekter feilet',
},
propagateError: true,
});
}

export function fetchLendableObject(id: EntityId) {
return callAPI<DetailedLendableObject>({
types: LendableObject.FETCH,
endpoint: `/lendableobject/${id}/`,
schema: lendableObjectSchema,
meta: {
errorMessage: 'Henting av utlånsobjekt feilet',
},
propagateError: true,
});
}

export function deleteLendableObject(id: EntityId) {
return callAPI({
types: LendableObject.DELETE,
endpoint: `/lendableobject/${id}/`,
method: 'DELETE',
meta: {
id,
errorMessage: 'Sletting av utlånsobjekt feilet',
},
});
}

export function createLendableObject(data) {
return callAPI<DetailedLendableObject>({
types: LendableObject.CREATE,
endpoint: '/lendableobject/',
method: 'POST',
body: data,
schema: lendableObjectSchema,
meta: {
errorMessage: 'Opprettelse av utlånsobjekt feilet',
},
});
}

export function editLendableObject({ id, ...data }) {
return callAPI<DetailedLendableObject>({
types: LendableObject.EDIT,
endpoint: `/lendableobject/${id}/`,
method: 'PATCH',
body: data,
meta: {
errorMessage: 'Endring av utlånsobjekt feilet',
},
});
}
Loading
Loading