fix(collab): sync REJECTED status between Telegram/Discord bot & website, fix mock data popup on empty DB
Some checks failed
Deploy RIT Freshers Hub to VPS / Deploy to Live VPS (push) Has been cancelled
Some checks failed
Deploy RIT Freshers Hub to VPS / Deploy to Live VPS (push) Has been cancelled
This commit is contained in:
@@ -136,6 +136,9 @@ public class CollabController {
|
|||||||
@RequestParam String status) {
|
@RequestParam String status) {
|
||||||
return collabApplicationRepository.findById(applicationId).map(app -> {
|
return collabApplicationRepository.findById(applicationId).map(app -> {
|
||||||
String newStatus = status.toUpperCase();
|
String newStatus = status.toUpperCase();
|
||||||
|
if ("DECLINED".equals(newStatus) || "DECLINE".equals(newStatus) || "REJECT".equals(newStatus)) {
|
||||||
|
newStatus = "REJECTED";
|
||||||
|
}
|
||||||
String oldStatus = app.getStatus();
|
String oldStatus = app.getStatus();
|
||||||
app.setStatus(newStatus);
|
app.setStatus(newStatus);
|
||||||
CollabApplication updated = collabApplicationRepository.save(app);
|
CollabApplication updated = collabApplicationRepository.save(app);
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ export default function DevCollab() {
|
|||||||
const { user, isAuthenticated, isVerifiedStudent, loginWithGoogle } = useAuth();
|
const { user, isAuthenticated, isVerifiedStudent, loginWithGoogle } = useAuth();
|
||||||
|
|
||||||
const [activeTab, setActiveTab] = useState<'explore' | 'my-requests' | 'my-applications'>('explore');
|
const [activeTab, setActiveTab] = useState<'explore' | 'my-requests' | 'my-applications'>('explore');
|
||||||
const [requests, setRequests] = useState<CollabRequestItem[]>(INITIAL_MOCK_REQUESTS);
|
const [requests, setRequests] = useState<CollabRequestItem[]>([]);
|
||||||
const [myRequests, setMyRequests] = useState<CollabRequestItem[]>([]);
|
const [myRequests, setMyRequests] = useState<CollabRequestItem[]>([]);
|
||||||
const [myApplications, setMyApplications] = useState<CollabApplicationItem[]>([]);
|
const [myApplications, setMyApplications] = useState<CollabApplicationItem[]>([]);
|
||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
@@ -176,7 +176,7 @@ export default function DevCollab() {
|
|||||||
return res.json();
|
return res.json();
|
||||||
})
|
})
|
||||||
.then((data) => {
|
.then((data) => {
|
||||||
if (Array.isArray(data) && data.length > 0) {
|
if (Array.isArray(data)) {
|
||||||
setRequests(data);
|
setRequests(data);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -804,7 +804,7 @@ export default function DevCollab() {
|
|||||||
{myApplications.map((app) => {
|
{myApplications.map((app) => {
|
||||||
const status = app.status?.toUpperCase() || 'PENDING';
|
const status = app.status?.toUpperCase() || 'PENDING';
|
||||||
const isAccepted = status === 'ACCEPTED';
|
const isAccepted = status === 'ACCEPTED';
|
||||||
const isRejected = status === 'REJECTED';
|
const isRejected = status === 'REJECTED' || status === 'DECLINED';
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
|
|||||||
@@ -357,7 +357,7 @@ def telegram_polling_thread():
|
|||||||
parts = cb_data.split("_")
|
parts = cb_data.split("_")
|
||||||
app_id = parts[2]
|
app_id = parts[2]
|
||||||
try:
|
try:
|
||||||
requests.put(f"{backend_url}/api/collab/applications/{app_id}/status?status=DECLINED", timeout=5)
|
requests.put(f"{backend_url}/api/collab/applications/{app_id}/status?status=REJECTED", timeout=5)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f"Error updating app status: {e}")
|
logging.error(f"Error updating app status: {e}")
|
||||||
|
|
||||||
@@ -635,7 +635,7 @@ class DiscordCollabActionView(discord.ui.View):
|
|||||||
@discord.ui.button(label="Decline Request", style=discord.ButtonStyle.danger, emoji="❌")
|
@discord.ui.button(label="Decline Request", style=discord.ButtonStyle.danger, emoji="❌")
|
||||||
async def decline_button(self, interaction: discord.Interaction, button: discord.ui.Button):
|
async def decline_button(self, interaction: discord.Interaction, button: discord.ui.Button):
|
||||||
try:
|
try:
|
||||||
requests.put(f"{BACKEND_URL}/api/collab/applications/{self.application_id}/status?status=DECLINED", timeout=5)
|
requests.put(f"{BACKEND_URL}/api/collab/applications/{self.application_id}/status?status=REJECTED", timeout=5)
|
||||||
await interaction.response.send_message("❌ **Collaboration Request Declined.**", ephemeral=False)
|
await interaction.response.send_message("❌ **Collaboration Request Declined.**", ephemeral=False)
|
||||||
for item in self.children:
|
for item in self.children:
|
||||||
item.disabled = True
|
item.disabled = True
|
||||||
|
|||||||
Reference in New Issue
Block a user