Skip to content

Commit

Permalink
Merge pull request #185 from esatya/stage
Browse files Browse the repository at this point in the history
Stage
  • Loading branch information
myanzik authored Feb 28, 2022
2 parents 8d95fd6 + 6c96ca0 commit be20815
Show file tree
Hide file tree
Showing 23 changed files with 203 additions and 317 deletions.
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ This repository uses eslint to enforce air-bnb coding styles.
When you deploy Rahat for production. Please make sure you backup the server's private key securely in an offline wallet, as it will contain some Ethers to perform various server tasks tasks.

# Contributing
Everyone is very welcome to contribute on the codebase of Rahat. Please reach us in [Discord](https://discord.gg/AV5j2T94VR) in case of any query/feedback/suggestion.

Everyone is very welcome to contribute on the codebase of Rahat. Please reach us in [Gitter](https://gitter.im/bockies/community?utm_source=badge&utm_medium=badge&utm_content=badge) in case of any query/feedback/suggestion.

For more information on the contributing procedure, see [Contribution](https://github.com/esatya/rahat-agency/blob/master/CONTRIBUTING.md)
For more information on the contributing procedure, see [Contribution](https://docs.rahat.io/docs/next/Contribution-Guidelines).
4 changes: 2 additions & 2 deletions src/contexts/UserContext.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ export const UserContextProvider = ({ children }) => {
return Service.updateRole({ ...data });
}

function deleteRole(userId) {
return Service.deleteRole(userId);
function deleteRole(userId, role) {
return Service.deleteRole({ userId, role });
}

function listUsersByRole(role) {
Expand Down
3 changes: 2 additions & 1 deletion src/modules/aid/detail/addBudget/asset/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { useHistory, Link } from 'react-router-dom';

import { AidContext } from '../../../../../contexts/AidContext';
import AdvancePagination from '../../../../global/AdvancePagination';
import { formatBalanceAndCurrency } from '../../../../../utils';

import { APP_CONSTANTS } from '../../../../../constants';
const { PAGE_LIMIT } = APP_CONSTANTS;
Expand Down Expand Up @@ -68,7 +69,7 @@ export default function (props) {
<td>
{d.name} ({d.symbol})
</td>
<td>{d.totalSupply}</td>
<td>{formatBalanceAndCurrency(d.totalSupply)}</td>
<td>
{d.createdBy.name.first} {d.createdBy.name.last || ''}
</td>
Expand Down
5 changes: 3 additions & 2 deletions src/modules/aid/detail/addBudget/token/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import PasscodeModal from '../../../../global/PasscodeModal';
import MaskLoader from '../../../../global/MaskLoader';

import { TOAST } from '../../../../../constants';
import { formatBalanceAndCurrency } from '../../../../../utils';

const Token = ({ projectId }) => {
const { addToast } = useToasts();
Expand Down Expand Up @@ -72,11 +73,11 @@ const Token = ({ projectId }) => {
<div className="spacing-budget">
<Row>
<Col md="6" sm="12">
<p className="card-font-bold">{total_tokens}</p>
<p className="card-font-bold">{formatBalanceAndCurrency(total_tokens)}</p>
<div className="sub-title">Project Token</div>
</Col>
<Col md="6" sm="12">
<p className="card-font-bold">{available_tokens}</p>
<p className="card-font-bold">{formatBalanceAndCurrency(available_tokens)}</p>
<div className="sub-title">Available Token</div>
</Col>
</Row>
Expand Down
8 changes: 2 additions & 6 deletions src/modules/aid/detail/projectInfo.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import ModalWrapper from '../../global/CustomModal';
import { MAX_QR_GEN } from '../../../constants';

export default function ProjectInfo({ projectDetails }) {
const { _id, social_mobilizer, project_manager, location, description, created_at, serial_index } = projectDetails;
const { _id, project_manager, location, description, created_at, serial_index } = projectDetails;

const handleEditClick = () => History.push(`/edit-project/${_id}`);

Expand Down Expand Up @@ -80,7 +80,7 @@ export default function ProjectInfo({ projectDetails }) {
</ModalWrapper>
<Card>
<div className="stat-card-body" style={{ minHeight: 330 }}>
<Row>
<Row className="mb-3">
<Col>
<CardTitle className="title" style={{ flexBasis: '90%' }}>
More Information
Expand Down Expand Up @@ -121,10 +121,6 @@ export default function ProjectInfo({ projectDetails }) {
</div>
</Col>
<Col md="6" sm="12">
<div style={{ marginBottom: '25px' }}>
<p className="card-font-medium">{social_mobilizer || '-'}</p>
<div className="sub-title">Social Mobilizer</div>
</div>
<div style={{ marginBottom: '25px' }}>
<p className="card-font-medium">{moment(created_at).format('ll')}</p>
<div className="sub-title">Created Date</div>
Expand Down
80 changes: 39 additions & 41 deletions src/modules/aid/list/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,13 @@ import { dottedString } from '../../../utils';
const { PAGE_LIMIT } = APP_CONSTANTS;

const List = () => {
const { aids, listAid, addAid,getProjectsBalances } = useContext(AidContext);
const { appSettings } = useContext(AppContext);
const {
aids,
listAid,
addAid
// getProjectsBalances
} = useContext(AidContext);
const { appSettings } = useContext(AppContext);
const { addToast } = useToasts();
const [aidModal, setaidModal] = useState(false);
const [aidPayload, setaidPayload] = useState({ name: '' });
Expand Down Expand Up @@ -52,24 +57,23 @@ const List = () => {
loadAidList(query);
};

const handleAidSubmit = e => {
const handleAidSubmit = async e => {
e.preventDefault();
addAid(aidPayload)
.then(() => {
toggleModal();
addToast('Project created successfully.', {
appearance: 'success',
autoDismiss: true
});
loadAidList({});
setaidPayload({ name: '' });
})
.catch(err => {
addToast(err, {
appearance: 'error',
autoDismiss: true
});
try {
await addAid(aidPayload);
toggleModal();
addToast('Project created successfully.', {
appearance: 'success',
autoDismiss: true
});
loadAidList({});
setaidPayload({ name: '' });
} catch (err) {
addToast(err, {
appearance: 'error',
autoDismiss: true
});
}
};

const onPageChanged = useCallback(
Expand All @@ -87,19 +91,11 @@ const List = () => {
);

const loadAidList = useCallback(
query => {
listAid(query)
.then(d => {
setTotalRecords(d.total);
})
.catch(() => {
addToast('Something went wrong!', {
appearance: 'error',
autoDismiss: true
});
});
async query => {
const d = await listAid(query);
setTotalRecords(d.total);
},
[addToast, listAid]
[listAid]
);

const fetchTotalRecords = useCallback(async () => {
Expand All @@ -114,22 +110,24 @@ const List = () => {
}
}, [addToast, listAid]);

const fetchProjectsBalances = useCallback(async ()=>{
if(!appSettings || !appSettings.agency) return;
const { agency } = appSettings
if(!agency && !agency.contracts) return;
const projectIds = aids.map((el) => el._id);
const balances = await getProjectsBalances(projectIds,agency.contracts.rahat_admin);
console.log({balances})
},[aids,appSettings,getProjectsBalances])
const fetchProjectsBalances = useCallback(async () => {
if (!appSettings || !appSettings.agency) return;
const { agency } = appSettings;
if (!agency && !agency.contracts) return;
// const projectIds = aids.map(el => el._id);
// const balances = await getProjectsBalances(projectIds, agency.contracts.rahat_admin);
}, [
// aids, getProjectsBalances,
appSettings
]);

useEffect(() => {
fetchTotalRecords();
}, [fetchTotalRecords]);

useEffect(() => {
fetchProjectsBalances();
},[fetchProjectsBalances])
fetchProjectsBalances();
}, [fetchProjectsBalances]);

return (
<>
Expand Down Expand Up @@ -211,7 +209,7 @@ const List = () => {
{d.project_manager ? `${d.project_manager.name.first} ${d.project_manager.name.last}` : '-'}
</td>
<td>{moment(d.created_at).format('MMM Do YYYY')}</td>
<td>{d.status.toUpperCase()}</td>
<td>{d.status === 'closed' ? 'COMPLETED' : d.status.toUpperCase()}</td>
<td className="blue-grey-text text-darken-4 font-medium">
<Link to={`/projects/${d._id}`}>
<i className="fas fa-eye fa-lg"></i>
Expand Down
10 changes: 4 additions & 6 deletions src/modules/beneficary/detail/detail.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ const BenefDetails = ({ params }) => {
listProject,
getTotalIssuedTokens,
addBenfToProject

} = useContext(BeneficiaryContext);
const { loading, appSettings } = useContext(AppContext);

Expand All @@ -51,7 +50,6 @@ const BenefDetails = ({ params }) => {
const [totalIssuedTokens, setTotalIssuedTokens] = useState(null);
const [addProjectModal, setAddProjectModal] = useState(false);


const toggleAssignTokenModal = () => setAssignTokenModal(!assignTokenModal);
const toggleAddProjectModal = () => {
if (!addProjectModal) setSelectedProject('');
Expand Down Expand Up @@ -116,7 +114,6 @@ const BenefDetails = ({ params }) => {
}
};


const handleProjectChange = d => setSelectedProject(d.value);

const handleIssueToken = () => toggleProjectModal();
Expand All @@ -132,7 +129,9 @@ const BenefDetails = ({ params }) => {
async phone => {
try {
const parsed_phone = parseInt(phone);
const { rahat } = appSettings.agency.contracts;
const { agency } = appSettings;
if (!agency || !agency.contracts) return;
const { rahat } = agency.contracts;
setFetching(true);
const balance = await getBeneficiaryBalance(parsed_phone, rahat);
const res = await getBenfPackageBalance(parsed_phone, rahat);
Expand All @@ -146,7 +145,7 @@ const BenefDetails = ({ params }) => {
setFetching(false);
}
},
[appSettings.agency.contracts, getBeneficiaryBalance, getBenfPackageBalance, getTotalIssuedTokens]
[appSettings, getBeneficiaryBalance, getBenfPackageBalance, getTotalIssuedTokens]
);

const fetchBeneficiaryDetails = useCallback(async () => {
Expand All @@ -160,7 +159,6 @@ const BenefDetails = ({ params }) => {
setProjectList(projects);
}
await fetchCurrentBalance(details.phone);

}, [fetchCurrentBalance, getBeneficiaryDetails, id]);

const fetchAllProjects = useCallback(async () => {
Expand Down
29 changes: 19 additions & 10 deletions src/modules/beneficary/detail/issue/asset/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import MaskLoader from '../../../../global/MaskLoader';

import { BALANCE_TABS } from '../../../../../constants';
import MiniSpinner from '../../../../global/MiniSpinner';
import { formatBalanceAndCurrency } from '../../../../../utils';

const TOKEN_ISSUE_AMOUNT = 1;
const FETCH_LIMIT = 50;
Expand All @@ -24,9 +25,13 @@ export default function (props) {
const { addToast } = useToasts();
const history = useHistory();

const { listNftPackages, getBeneficiaryById, issueBeneficiaryPackage, getBeneficiaryIssuedTokens,sendPackageIssuedSms} = useContext(
AidContext
);
const {
listNftPackages,
getBeneficiaryById,
issueBeneficiaryPackage,
getBeneficiaryIssuedTokens,
sendPackageIssuedSms
} = useContext(AidContext);
const { isVerified, wallet, appSettings, currentBalanceTab } = useContext(AppContext);

const [packageList, setPackageList] = useState([]);
Expand Down Expand Up @@ -124,12 +129,14 @@ export default function (props) {
packageTokens: selectedPackages
};

const packageNames = selectedPackages.map(item=>{
const name = packageList.find(pkg=>Number(pkg.tokenId)===item)?.name
return name
}).join(' , ')
const packageNames = selectedPackages
.map(item => {
const name = packageList.find(pkg => Number(pkg.tokenId) === item)?.name;
return name;
})
.join(' , ');

await sendPackageIssuedSms(Number(benfPhone), packageNames)
await sendPackageIssuedSms(Number(benfPhone), packageNames);

const { rahat } = appSettings.agency.contracts;
const res = await issueBeneficiaryPackage(wallet, payload, rahat);
Expand Down Expand Up @@ -197,8 +204,10 @@ export default function (props) {
<td>
{d.name} ({d.symbol})
</td>
<td>{fetchingIssuedQty ? <MiniSpinner /> : d.issuedQty ? d.issuedQty : '0'}</td>
<td>{d.totalSupply}</td>
<td>
{fetchingIssuedQty ? <MiniSpinner /> : d.issuedQty ? formatBalanceAndCurrency(d.issuedQty) : '0'}
</td>
<td>{formatBalanceAndCurrency(d.totalSupply)}</td>
<td>
{d.createdBy.name.first} {d.createdBy.name.last || ''}
</td>
Expand Down
Loading

0 comments on commit be20815

Please sign in to comment.