public void loadProposals() {
        this.proposals.clear();
        ProposalModel proposalModel = new ProposalModel();
        String selectedStatus = statusComboBox.getSelectedItem().toString();
        String statusQuery = "";
        if (selectedStatus.equalsIgnoreCase("active")) { 
            statusQuery = ", expirationTime: {$gte:"+new Date().getTime()+"}";
        } else if(selectedStatus.equalsIgnoreCase("expired")) {
            statusQuery = ", expirationTime: {$lt:"+new Date().getTime()+"}";
        }
        
        int selectedPriority = Proposal.getPriorityLevel(priorityComboBox.getSelectedItem().toString());
        String priorityQuery = "";
        if(selectedPriority > 0) {
            priorityQuery = ", priority: " + selectedPriority;
        }
        
        Iterable<Entry> proposalQuery = proposalModel.query("{id:{$gte: 0}"+statusQuery+priorityQuery+"}");
        System.out.println("{id:{$gte: 0}"+statusQuery+priorityQuery+"}");
        
        DefaultTableModel model = (DefaultTableModel) proposalTable.getModel();
        model.setRowCount(0);

        UserModel userModel = new UserModel();
        for (Entry entry : proposalQuery){
            this.proposals.add((Proposal) entry);
            Proposal proposal = (Proposal) entry;
            String status = "active";
            if (ProposalLogic.isExpired(proposal)) {
                status = "expired";
            }
            Iterable<Entry> userQuery = userModel.query("{id:"+proposal.getAuthor()+"}");
            if(userQuery.iterator().hasNext()) {
                User author = (User) userQuery.iterator().next();
                String name = author.getFirstName() + " " + author.getLastName();
                model.addRow(new String[]{proposal.getSubject(), name, proposal.getExpirationDate().toString() , status});
            }
            else {
                System.out.println("author not found, row not added");
            }
        }
    }