main2
Kar 2023-05-18 02:43:11 +05:30
parent 2b85a5a356
commit 81cfb6ce00
4 changed files with 124 additions and 39 deletions

1
data/.~lock.user.csv# Normal file
View File

@ -0,0 +1 @@
,ov,d4,16.05.2023 12:44,file:///home/ov/.config/libreoffice/4;

Binary file not shown.

44
src/pages/api/editUser.js Normal file
View File

@ -0,0 +1,44 @@
export default function handler(req, res) {
const sqlite3 = require('sqlite3').verbose();
console.log(req.body)
// Open a new database connection
let uname, status, type, start_month, start_date, end_date, klas, lang, phone, pass, anual, early_start_programme, toddlers, interakto, email, country, state, city, address, school="";
if(req.body.uname) uname =req.body.uname;
if(req.body.status) status =req.body.status;
if(req.body.type) type =req.body.type;
if(req.body.start_date) start_date =req.body.start_date;
if(req.body.end_date) end_date =req.body.end_date;
if(req.body.klas) klas =req.body.klas;
if(req.body.lang) lang =req.body.lang;
if(req.body.lang) lang =req.body.lang;
if(req.body.phone) phone =req.body.phone;
if(req.body.pass) pass =req.body.pass;
if(req.body.anual) anual =req.body.anual;
if(req.body.early_start_programme) early_start_programme =req.body.early_start_programme;
if(req.body.toddlers) toddlers =req.body.toddlers;
if(req.body.interakto) interakto =req.body.interakto;
if(req.body.email) email =req.body.email;
if(req.body.country) country =req.body.country;
if(req.body.state) state =req.body.state;
if(req.body.city) city =req.body.city;
if(req.body.address) address =req.body.address;
if(req.body.school) school =req.body.school;
const db = new sqlite3.Database('data/appUser.db');
console.log(req.body.userId)
db.run(`UPDATE user SET uname = ?, status = ?, type = ?, start_month = ?, start_date = ?, end_date = ?, klas = ?, lang = ?, phone = ?, anual = ?, early_start_programme = ?, toddlers = ?, interakto = ?, email = ?, country = ?, state = ?, city = ?, address = ?, school = ? WHERE id = ? `, [ uname, status, type, start_month, start_date, end_date, klas, lang, phone, anual, early_start_programme, toddlers, interakto, email, country, state, city, address, school, req.body.userId],
function(err) {
if (err) {
res.status(400).json({ msg: 'Err400D' });
return console.log(err.message);
}
res.status(200).json({ msg: 'ok' });
}
);
db.close();
}

View File

@ -6,20 +6,20 @@ import { useRouter } from 'next/router'
export default function editUser() {
const router = useRouter();
const updateUserData = async (event) => {
const body = new FormData();
body.append("file", agreement.files[0]);
body.append("fName", `${router.query.school}.pdf`);
const response = await fetch("/api/updateUserDetails", {
method: "POST",
body
});
};
// const updateUserData = async (event) => {
// const body = new FormData();
// body.append("file", agreement.files[0]);
// body.append("fName", `${router.query.school}.pdf`);
// const response = await fetch("/api/updateUserDetails", {
// method: "POST",
// body
// });
// };
const [user, setUser] = useState({});
useEffect(()=>{
console.log(router.query);
// console.log(router.query);
// if(router.query.school<1) {
// const { sid } = router.query;
// setSchool(sid)
@ -27,34 +27,38 @@ export default function editUser() {
fetch(`/api/getUserDetails?user=${router.query.user}`)
.then(res => res.json())
.then(data => {
console.log(router.query.user);
setUser(data)
// console.log(data);
setUser(data[0])
// console.log(user)
})
}
}, [router.query.school]);
}, [router.query.user]);
const handleSubmit = async (event) => {
const updateUserData = async (event) => {
event.preventDefault()
const data = {
"status":"published",
name: event.target.schoolName.value,
userId: router.query.user,
type: event.target.type.value,
status: event.target.status.value,
uname: event.target.uname.value,
country: event.target.country.value,
state: event.target.state.value,
cities: event.target.cities.value,
city: event.target.city.value,
address: event.target.address.value,
start_date: event.target.start_date.value,
end_date: event.target.end_date.value,
school: event.target.school.value,
anual: event.target.anual.value,
toddlers: event.target.toddlers.value,
early_start_programme: event.target.early_start_programme.value,
interakto: event.target.interakto.value,
agreement_expiry_date: event.target.agreement_expiry_date.value,
school_agreement: event.target.school_agreement.value,
school_contact_number: event.target.school_contact_number.value,
school_email_id: event.target.school_email_id.value,
email: event.target.email.value,
phone: event.target.phone.value,
klas: event.target.klas.value
}
const JSONdata = JSON.stringify(data)
console.log(data)
const endpoint = 'https://management.beanstalkedu.com/items/school'
const endpoint = '/api/editUser'
const options = {
method: 'POST',
headers: {
@ -66,7 +70,7 @@ export default function editUser() {
const result = await response.json()
// alert(`Is this your full name: ${result.data}`)
alert(`School Saved`)
alert(`User data updated`)
}
return (
@ -83,37 +87,73 @@ export default function editUser() {
<form onSubmit={updateUserData} action="" className='w-full px-6 md:px-20'>
<div className='flex flex-col w-full pt-4'>
<label htmlFor="class" className='text-xl font-bold'>Type</label>
<input type="text" name="type" className=' bg-white border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
<input value={user.type} onChange={e => setUser(e.target.value)} type="text" name="type" className=' bg-white border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
</div>
<div className='flex flex-col w-full'>
<label htmlFor="name" className='text-xl font-bold'> Name</label>
<input value={user.name} type="text" name="uname" className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' placeholder='Enter your Name'/>
<input value={user.uname} onChange={e => setUser(e.target.value)} type="text" name="uname" className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
</div>
<div className='flex flex-col w-full'>
<label htmlFor="status" className='text-xl font-bold'> Status</label>
<input value={user.status} onChange={e => setUser(e.target.value)} type="text" name="status" className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
</div>
<div className='flex flex-col w-full'>
<label htmlFor="start_date" className='text-xl font-bold'> start_date (YYYY-MM-DD) </label>
<input value={user.start_date} onChange={e => setUser(e.target.value)} type="text" name="start_date" className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
</div>
<div className='flex flex-col w-full'>
<label htmlFor="end_date" className='text-xl font-bold'> end_date (YYYY-MM-DD)</label>
<input value={user.end_date} onChange={e => setUser(e.target.value)} type="text" name="end_date" className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
</div>
<div className='flex flex-col w-full'>
<label htmlFor="email" className='text-xl font-bold'>Email</label>
<input type="email" name="email" placeholder='ex. xyz@email.com'
className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]'/>
<input value={user.email} onChange={e => setUser(e.target.value)} type="email" name="email" placeholder='ex. xyz@email.com' className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]'/>
</div>
<div className='flex flex-col w-full'>
<label htmlFor="phone" className='text-xl font-bold'> Phone</label>
<input value={user.phone} onChange={e => setUser(e.target.value)} type="text" name="phone" className=' bg-white border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
</div>
<div className='flex flex-col w-full'>
<label htmlFor="country" className='text-xl font-bold'>Country</label>
<input type="text" name="type" className=' bg-white border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
<input value={user.country} onChange={e => setUser(e.target.value)} type="text" name="country" className=' bg-white border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
</div>
<div className='flex flex-col w-full'>
<label htmlFor="state" className='text-xl font-bold'> State</label>
<input value={user.state} onChange={e => setUser(e.target.value)} type="text" name="state" className=' bg-white border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
</div>
<div className='flex flex-col w-full'>
<label htmlFor="city" className='text-xl font-bold'> City</label>
<input value={user.city} onChange={e => setUser(e.target.value)} type="text" name="city" className=' bg-white border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
</div>
<div className='flex flex-col w-full'>
<label htmlFor="phone" className='text-xl font-bold'> Phone</label>
<input value={user.name} type="text" name="uname" className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' placeholder='Enter your Name'/>
<label htmlFor="address" className='text-xl font-bold'> address 1st line</label>
<input value={user.address} onChange={e => setUser(e.target.value)} type="text" name="address" className=' bg-white border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
</div>
<div className='flex flex-col w-full pt-4'>
<label htmlFor="" className='text-xl font-bold'>School name</label>
<input value={user.name} type="text" name="uname" className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' placeholder='Enter your Name'/>
<label htmlFor="" className='text-xl font-bold'>School ID</label>
<input value={user.school} onChange={e => setUser(e.target.value)} type="text" name="school" className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
</div>
<div className='flex flex-col w-full pt-4'>
<label htmlFor="class" className='text-xl font-bold'>Class</label>
<input value={user.name} type="text" name="uname" className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' placeholder='Enter your Name'/>
<label htmlFor="klas" className='text-xl font-bold'>Class</label>
<input value={user.klas} onChange={e => setUser(e.target.value)} type="text" name="klas" className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
</div>
<div className='flex flex-col w-full pt-4'>
<label htmlFor="anual" className='text-xl font-bold'>anual</label>
<input value={user.anual} onChange={e => setUser(e.target.value)} type="text" name="anual" className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
</div>
<div className='flex flex-col w-full pt-4'>
<label htmlFor="early_start_programme" className='text-xl font-bold'>early_start_programme</label>
<input value={user.early_start_programme} onChange={e => setUser(e.target.value)} type="text" name="early_start_programme" className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
</div>
<div className='flex flex-col w-full pt-4'>
<label htmlFor="toddlers" className='text-xl font-bold'>toddlers</label>
<input value={user.toddlers} onChange={e => setUser(e.target.value)} type="text" name="toddlers" className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
</div>
<div className='flex flex-col w-full pt-4'>
<label htmlFor="interakto" className='text-xl font-bold'>interakto</label>
<input value={user.interakto} onChange={e => setUser(e.target.value)} type="text" name="interakto" className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' />
</div>
<input value={user.name} type="text" name="uname" className=' border-2 border-[#FE4501] p-2 rounded-md focus:outline-none focus:border-2 focus:border-[#F2B705]' placeholder='Enter your Name'/>
<div className='flex justify-center pt-8'>
<button type="submit"