Henrique Dias 11 лет назад
Родитель
Сommit
f50eb0398f

+ 17 - 0
services/web/app/coffee/Features/Subscription/SubscriptionGroupController.coffee

@@ -32,3 +32,20 @@ module.exports =
 					title: 'group_admin'
 					users: users
 					subscription: subscription
+
+	exportGroupCsv: (req, res)->
+		user_id = req.session.user._id
+		logger.log user_id: user_id, "exporting group csv"
+		SubscriptionLocator.getUsersSubscription user_id, (err, subscription)->
+			if !subscription.groupPlan
+				return res.redirect("/")
+			SubscriptionGroupHandler.getPopulatedListOfMembers user_id, (err, users)->
+				groupCsv = ""
+				for user in users
+					groupCsv += user.email + "\n"
+				res.header(
+					"Content-Disposition",
+					"attachment; filename=Group.csv"
+				)
+				res.contentType('text/csv')
+				res.send(groupCsv)

+ 1 - 1
services/web/app/coffee/Features/Subscription/SubscriptionRouter.coffee

@@ -23,7 +23,7 @@ module.exports =
 		app.get '/subscription/group',  AuthenticationController.requireLogin(), SubscriptionGroupController.renderSubscriptionGroupAdminPage
 		app.post '/subscription/group/user', AuthenticationController.requireLogin(),  SubscriptionGroupController.addUserToGroup
 		app.del '/subscription/group/user/:user_id', AuthenticationController.requireLogin(), SubscriptionGroupController.removeUserFromGroup
-
+		app.get '/subscription/group/export',  AuthenticationController.requireLogin(), SubscriptionGroupController.exportGroupCsv
 
 		#recurly callback
 		app.post '/user/subscription/callback',   SubscriptionController.recurlyNotificationParser, SubscriptionController.recurlyCallback

+ 3 - 1
services/web/app/views/subscriptions/group_admin.jade

@@ -73,8 +73,10 @@ block content
 												ng-model="inputs.emails",
 												on-enter="addMembers()"
 											)
-										.col-xs-6
+										.col-xs-4
 											button.btn.btn-primary(ng-click="addMembers()") #{translate("add")}
+										.col-xs-2
+											a(href="/subscription/group/export") Export CSV
 
 	script(type="text/javascript").
 		window.users = !{JSON.stringify(users)};