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) {
|
||||
return collabApplicationRepository.findById(applicationId).map(app -> {
|
||||
String newStatus = status.toUpperCase();
|
||||
if ("DECLINED".equals(newStatus) || "DECLINE".equals(newStatus) || "REJECT".equals(newStatus)) {
|
||||
newStatus = "REJECTED";
|
||||
}
|
||||
String oldStatus = app.getStatus();
|
||||
app.setStatus(newStatus);
|
||||
CollabApplication updated = collabApplicationRepository.save(app);
|
||||
|
||||
@@ -107,7 +107,7 @@ export default function DevCollab() {
|
||||
const { user, isAuthenticated, isVerifiedStudent, loginWithGoogle } = useAuth();
|
||||
|
||||
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 [myApplications, setMyApplications] = useState<CollabApplicationItem[]>([]);
|
||||
const [loading, setLoading] = useState(false);
|
||||
@@ -176,7 +176,7 @@ export default function DevCollab() {
|
||||
return res.json();
|
||||
})
|
||||
.then((data) => {
|
||||
if (Array.isArray(data) && data.length > 0) {
|
||||
if (Array.isArray(data)) {
|
||||
setRequests(data);
|
||||
}
|
||||
})
|
||||
@@ -804,7 +804,7 @@ export default function DevCollab() {
|
||||
{myApplications.map((app) => {
|
||||
const status = app.status?.toUpperCase() || 'PENDING';
|
||||
const isAccepted = status === 'ACCEPTED';
|
||||
const isRejected = status === 'REJECTED';
|
||||
const isRejected = status === 'REJECTED' || status === 'DECLINED';
|
||||
|
||||
return (
|
||||
<div
|
||||
|
||||
@@ -357,7 +357,7 @@ def telegram_polling_thread():
|
||||
parts = cb_data.split("_")
|
||||
app_id = parts[2]
|
||||
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:
|
||||
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="❌")
|
||||
async def decline_button(self, interaction: discord.Interaction, button: discord.ui.Button):
|
||||
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)
|
||||
for item in self.children:
|
||||
item.disabled = True
|
||||
|
||||
Reference in New Issue
Block a user