/
views_staff_user.go
144 lines (113 loc) · 4.16 KB
/
views_staff_user.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
package marketplace
import (
"math"
"net/http"
"strconv"
"github.com/gocraft/web"
"qxklmrhx7qkzais6.onion/Tochka/tochka-free-market/modules/util"
)
func (c *Context) ViewStaffListSupportTickets(w web.ResponseWriter, r *web.Request) {
var (
err error
pageSize int = 50
selectedPage int = 0
)
c.SelectedSection = "new-open"
if len(r.URL.Query()["section"]) > 0 {
c.SelectedSection = r.URL.Query()["section"][0]
}
if len(r.URL.Query()["page"]) > 0 {
selectedPageStr := r.URL.Query()["page"][0]
page, err := strconv.Atoi(selectedPageStr)
if err == nil {
selectedPage = page - 1
}
}
numberOfPages := int(math.Ceil(float64(CountSupportTicketsByStatus(c.SelectedSection)) / float64(pageSize)))
for i := 0; i < numberOfPages; i++ {
c.Pages = append(c.Pages, i+1)
}
tickets, err := FindSupportTicketsByStatus(c.SelectedSection, selectedPage, pageSize)
if err != nil {
http.NotFound(w, r.Request)
return
}
c.ViewSupportTickets = tickets.ViewSupportTickets(c.ViewUser.Language)
c.SelectedPage = selectedPage + 1
util.RenderTemplate(w, "staff/users_support_tickets", c)
}
func (c *Context) ViewStaffUserFinance(w web.ResponseWriter, r *web.Request) {
// TODO: reimplement
user, err := FindUserByUsername(r.PathParams["username"])
if err != nil {
http.NotFound(w, r.Request)
return
}
vu := user.ViewUser(c.ViewUser.Language)
c.ViewMarketplaceUser = &vu
c.ViewMarketplaceUser.BitcoinWallets = c.ViewMarketplaceUser.FindUserBitcoinWallets()
c.ViewMarketplaceUser.EthereumWallets = c.ViewMarketplaceUser.FindUserEthereumWallets()
c.ViewMarketplaceUser.BitcoinCashWallets = c.ViewMarketplaceUser.FindUserBitcoinCashWallets()
for _, w := range c.ViewMarketplaceUser.BitcoinWallets {
w.UpdateBalance(false)
}
for _, w := range c.ViewMarketplaceUser.EthereumWallets {
w.UpdateBalance(false)
}
for _, w := range c.ViewMarketplaceUser.BitcoinCashWallets {
w.UpdateBalance(false)
}
c.ViewMarketplaceUser.BitcoinBalance = c.ViewMarketplaceUser.BitcoinWallets.Balance()
c.ViewMarketplaceUser.EthereumBalance.Balance = c.ViewMarketplaceUser.EthereumWallets.Balance().Balance
c.ViewMarketplaceUser.BitcoinCashBalance = c.ViewMarketplaceUser.BitcoinCashWallets.Balance()
c.ViewMarketplaceUser.BitcoinWallet = c.ViewMarketplaceUser.BitcoinWallets[0]
c.ViewMarketplaceUser.EthereumWallet = c.ViewMarketplaceUser.EthereumWallets[0]
c.ViewMarketplaceUser.BitcoinCashWallet = c.ViewMarketplaceUser.BitcoinCashWallets[0]
// c.UserSettingsHistory = SettingsChangeHistoryByUser(user.Uuid)
util.RenderTemplate(w, "staff/users_user_finance", c)
}
func (c *Context) ViewStaffUserTickets(w web.ResponseWriter, r *web.Request) {
user, err := FindUserByUsername(r.PathParams["username"])
if err != nil {
http.NotFound(w, r.Request)
return
}
vu := user.ViewUser(c.ViewUser.Language)
c.ViewMarketplaceUser = &vu
tickets, err := FindSupportTicketsForUser(*user)
if err != nil {
http.NotFound(w, r.Request)
return
}
c.ViewSupportTickets = tickets.ViewSupportTickets(c.ViewUser.Language)
util.RenderTemplate(w, "staff/users_user_tickets", c)
}
func (c *Context) ViewStaffUserPayments(w web.ResponseWriter, r *web.Request) {
user, err := FindUserByUsername(r.PathParams["username"])
if err != nil {
http.NotFound(w, r.Request)
return
}
vu := user.ViewUser(c.ViewUser.Language)
c.ViewMarketplaceUser = &vu
c.ViewCurrentTransactionStatuses = FindCurrentTransactionStatusesForBuyer(
user.Uuid, c.SelectedStatus, false, 0, 100).
ViewCurrentTransactionStatuses(c.ViewUser.Language)
store := user.Store()
if store != nil {
vts := FindCurrentTransactionStatusesForStore(store.Uuid, c.SelectedStatus, "", false, 0, 100).
ViewCurrentTransactionStatuses(c.ViewUser.Language)
c.ViewCurrentTransactionStatuses = append(c.ViewCurrentTransactionStatuses, vts...)
}
util.RenderTemplate(w, "staff/users_user_payments", c)
}
func (c *Context) ViewStaffUserAdminActions(w web.ResponseWriter, r *web.Request) {
user, err := FindUserByUsername(r.PathParams["username"])
if err != nil {
http.NotFound(w, r.Request)
return
}
vu := user.ViewUser(c.ViewUser.Language)
c.ViewMarketplaceUser = &vu
util.RenderTemplate(w, "staff/users_user_admin_actions", c)
}