def handleGetToken(self, action): data, errors = self.extractData() credentials = dict(login=data.get('max_app_username'), password=data.get('max_app_password')) from upc.maxui.max import getToken logger = logging.getLogger('upc.maxui') #Authenticat to max as operations user maxcli = MaxClient(data.get('max_server'), auth_method="basic") maxcli.setBasicAuth(data.get('max_ops_username'), data.get('max_ops_password')) #Add App user to max result = maxcli.addUser(credentials['login'], displayName=data.get('max_app_displayname')) if not result: logger.info('Error creating MAX user for user: %s' % credentials['login']) IStatusMessage(self.request).addStatusMessage(_(u"An error occurred during creation of max user"), "info") else: logger.info('MAX Agent user %s created' % credentials['login']) # Request token for app user oauth_token = getToken(credentials) registry = queryUtility(IRegistry) settings = registry.forInterface(IMAXUISettings, check=False) settings.max_app_token = str(oauth_token) #Subscribe app user to max club_url = getToolByName(self.context, "portal_url").getPortalObject().absolute_url() maxcli.setActor(credentials['login']) maxcli.subscribe(club_url) logger.info('MAX user %s subscribed to %s' % (credentials['login'], club_url)) IStatusMessage(self.request).addStatusMessage(_(u"Token for MAX application user saved"), "info")
def handleSave(self, action): data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return changes = self.applyChanges(data) IStatusMessage(self.request).addStatusMessage(_(u"Changes saved"), "info") self.context.REQUEST.RESPONSE.redirect("@@maxui-settings")
def handleCancel(self, action): IStatusMessage(self.request).addStatusMessage(_(u"Edit cancelled"), "info") self.request.response.redirect("%s/%s" % (self.context.absolute_url(), self.control_panel_view))