Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
34947 aman 1
<style>
2
    .select2-container .select2-selection--single {
3
        box-sizing: border-box;
4
        cursor: pointer;
5
        display: block;
6
        height: 35px;
7
        padding: 3px;
8
        user-select: none;
9
        -webkit-user-select: none;
10
    }
11
 
12
    .modal-body {
13
        overflow-y: auto;
14
        max-height: calc(100vh - 200px);
15
    }
16
 
17
    .status-pending {
18
        background-color: #fff3cd;
19
        color: #856404;
20
        padding: 4px 8px;
21
        border-radius: 4px;
22
        font-size: 0.85rem;
23
    }
24
 
25
    .status-approved {
26
        background-color: #d1e7dd;
27
        color: #0f5132;
28
        padding: 4px 8px;
29
        border-radius: 4px;
30
        font-size: 0.85rem;
31
    }
32
 
33
    .status-rejected {
34
        background-color: #f8d7da;
35
        color: #842029;
36
        padding: 4px 8px;
37
        border-radius: 4px;
38
        font-size: 0.85rem;
39
    }
40
 
41
    .document-image {
42
        max-width: 100%;
43
        border: 1px solid #dee2e6;
44
        border-radius: 4px;
45
        padding: 4px;
46
    }
47
 
48
    .action-buttons {
49
        white-space: nowrap;
50
    }
51
 
52
    .page-header {
53
        border-bottom: 1px solid #eee;
54
        padding-bottom: 10px;
55
        margin-bottom: 20px;
56
    }
57
</style>
58
<section class="wrapper container mt-4">
59
    <div class="row">
60
        <div class="col-lg-12">
61
            <h3 class="page-header">Affiliate KYC Management</h3>
62
            <ol class="breadcrumb">
63
                <li class="breadcrumb-item"><a href="${rc.contextPath}/dashboard"><i class="fas fa-home"></i> Dashboard</a>
64
                </li>
65
                <li class="breadcrumb-item active"><i class="fas fa-id-card"></i> Affiliate KYC</li>
66
 
67
            </ol>
68
        </div>
69
    </div>
70
 
71
    <div class="ribbon-highlight">
72
        <h3> Pending KYC Documents</h3>
73
        <p class="mb-0">Review and approve affiliate KYC documents submitted by users</p>
74
    </div>
75
 
76
    <table class="table table-striped table-bordered table-hover" id="kyc-list" style="width: 100%;">
77
        <thead>
78
        <tr>
79
            <th>KYC ID</th>
80
            <th>Customer Name</th>
81
            <th>Document Type</th>
82
            <th>Document ID</th>
83
            <th>Status</th>
84
            <th>Submitted Date</th>
85
            <th>Actions</th>
86
        </tr>
87
        </thead>
88
        <tbody>
89
            #if($pendingKycList && $pendingKycList.size() > 0)
90
                #foreach($user in $pendingKycList)
91
                <tr>
92
                    <td>$user.getId()</td>
93
                    <td>$user.getCustomer().getFirstName() $user.getCustomer().getLastName()</td>
94
                    <td>$user.getDocumentType()</td>
95
                    <td>$user.getDocumentId()</td>
96
                    <td>$user.getStatus()</td>
97
                    <td>$user.getCreatedAt()</td>
98
                    <td class="action-buttons">
99
                        <button class="btn btn-sm btn-success approve-btn" data-kyc-id="$user.getId()">
100
                            <i class="fas fa-check"></i> Approve
101
                        </button>
102
                        <button class="btn btn-sm btn-danger reject-btn"
103
                                data-toggle="modal"
104
                                data-target="#rejectionModal"
105
                                data-kyc-id="$user.getId()">
106
                            <i class="fas fa-times"></i> Reject
107
                        </button>
108
                        <button class="btn btn-sm btn-info view-btn"
109
                                data-kyc-id="$user.getDocumentId()"
110
                                data-doc-id="$user.getDocumentId()">
111
                            <i class="fas fa-eye"></i> View
112
                        </button>
113
                    </td>
114
                </tr>
115
                #end
116
            #else
117
            <tr>
118
                <td colspan="7" class="text-center">List is empty</td>
119
            </tr>
120
            #end
121
        </tbody>
122
    </table>
123
 
124
</section>
125
 
126
<!-- Rejection Reason Modal -->
127
<div class="modal fade" id="rejectionModal" tabindex="-1" aria-labelledby="rejectionModalLabel" aria-hidden="true">
128
    <div class="modal-dialog">
129
        <div class="modal-content">
130
            <div class="modal-header">
131
                <h5 class="modal-title" id="rejectionModalLabel">Reject KYC</h5>
132
            </div>
133
            <div class="modal-body">
134
                <form id="rejectionForm">
135
                    <div class="mb-3">
136
                        <label for="rejectionReason" class="form-label">Rejection Reason</label>
137
                        <textarea class="form-control" id="rejectionReason" rows="4"
138
                                  placeholder="Please provide reason for rejection..." required></textarea>
139
                    </div>
140
                </form>
141
            </div>
142
            <div class="modal-footer">
143
                <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
144
                <button type="button" class="btn btn-danger" id="confirmReject">Confirm Reject</button>
145
            </div>
146
        </div>
147
    </div>
148
</div>
149
<!-- Success/Error Alert -->
150
<div id="alertContainer" class="container mt-3"></div>
151
 
152
<div class="modal fade" id="kycDocModal" tabindex="-1" role="dialog" aria-hidden="true">
153
    <div class="modal-dialog modal-lg" role="document">
154
        <div class="modal-content">
155
            <div class="modal-header">
156
                <h5 class="modal-title">KYC Document</h5>
157
                <button type="button" class="close" data-dismiss="modal"><span>&times;</span></button>
158
            </div>
159
            <div class="modal-body text-center" id="kycDocBody"></div>
160
        </div>
161
    </div>
162
</div>
163