def user_view(user_id): current_user = session.get('current_user') user = api_oauth.get('{base}user/{user_id}'.format( base=app.config['J4OAUTH']['base_url'], user_id=user_id )).json()['user'] if user['corporation'] != current_user['corporation'] or not session['admin']: flash('You are not authorized to view this user', 'danger') app.logger.error('Unauthorize access to {user}\'s profile by {by}'.format( user=user_id, by=current_user['user_id'] )) return redirect('admin.index') report = mongo.db.reports.find_one({'user_id': user_id}) user_notes = mongo.db.notes.find_one({'user_id': user_id}) return render_template( 'auth_user.html', user=user, report=report, user_notes=user_notes )
def auth_report(report): """ Report that use the J4OAuth API to generate the report """ eve = EveTools() # Resetting report report['characters'] = [] report['errors'] = [] # Get full character info auth_info = api_oauth.get('{base}user/{username}'.format( base=app.config['J4OAUTH']['base_url'], username=report['user_id'])).json()['user'] if auth_info['auth_status'] != 'Internal': raise Exception( 'User {user} is not a current member of the alliance, aborting...'. format(user=report['user_id'])) for eve_character in auth_info['characters']: character = api_oauth.get( '{base}user/{username}/{character_id}/sheet'.format( base=app.config['J4OAUTH']['base_url'], username=report['user_id'], character_id=eve_character['character_id'])).json()['sheet'] character['history'] = [] for eve_corporation in character['employmentHistory']: corporation = EveTools.auto_to_dict( eve.safe_request( 'corp/CorporationSheet', True, {'corporationID': eve_corporation['corporationID']})) sleep(1) character['history'].append({ 'corporation_id': corporation['corporationID'], 'corporation_name': corporation['corporationName'], 'ticker': 'BR', 'alliance_id': corporation['allianceID'] if 'allianceID' in corporation else None, 'alliance_name': corporation['allianceName'] if 'allianceName' in corporation else None, 'start_date': datetime.datetime.utcfromtimestamp( eve_corporation['startDate']) }) # Contact list contacts = api_oauth.get( '{base}user/{username}/{character_id}/contacts'.format( base=app.config['J4OAUTH']['base_url'], username=report['user_id'], character_id=character['characterID'])).json()['contacts'] character['contacts'] = [ contact for contact in contacts if contact['contactID'] > 3020000 ] # Standings character['standings'] = api_oauth.get( '{base}user/{username}/{character_id}/standings'.format( base=app.config['J4OAUTH']['base_url'], username=report['user_id'], character_id=character['characterID'])).json()['standings'] # Wallet character['wallet'] = api_oauth.get( '{base}user/{username}/{character_id}/wallet'.format( base=app.config['J4OAUTH']['base_url'], username=report['user_id'], character_id=character['characterID'])).json()['wallet'] # Assets time ! assets = api_oauth.get( '{base}user/{username}/{character_id}/assets'.format( base=app.config['J4OAUTH']['base_url'], username=report['user_id'], character_id=character['characterID'])).json()['assets'] character['assets'] = EveTools.parse_assets(assets) report['characters'].append(character) return report
def users(): user = session.get('current_user') users = api_oauth.get('{}corporation/{}/users'.format( app.config['J4OAUTH']['base_url'], user['corporation'])) return render_template('users.html', users=users.json()['users'])
def auth_report(report): """ Report that use the J4OAuth API to generate the report """ eve = EveTools() # Resetting report report['characters'] = [] report['errors'] = [] # Get full character info auth_info = api_oauth.get('{base}user/{username}'.format( base=app.config['J4OAUTH']['base_url'], username=report['user_id'] )).json()['user'] if auth_info['auth_status'] != 'Internal': raise Exception('User {user} is not a current member of the alliance, aborting...'.format(user=report['user_id'])) for eve_character in auth_info['characters']: character = api_oauth.get('{base}user/{username}/{character_id}/sheet'.format( base=app.config['J4OAUTH']['base_url'], username=report['user_id'], character_id=eve_character['character_id'] )).json()['sheet'] character['history'] = [] for eve_corporation in character['employmentHistory']: corporation = EveTools.auto_to_dict(eve.safe_request('corp/CorporationSheet', True, {'corporationID': eve_corporation['corporationID']})) sleep(1) character['history'].append({ 'corporation_id': corporation['corporationID'], 'corporation_name': corporation['corporationName'], 'ticker': 'BR', 'alliance_id': corporation['allianceID'] if 'allianceID' in corporation else None, 'alliance_name': corporation['allianceName'] if 'allianceName' in corporation else None, 'start_date': datetime.datetime.utcfromtimestamp(eve_corporation['startDate']) }) # Contact list contacts = api_oauth.get('{base}user/{username}/{character_id}/contacts'.format( base=app.config['J4OAUTH']['base_url'], username=report['user_id'], character_id=character['characterID'] )).json()['contacts'] character['contacts'] = [contact for contact in contacts if contact['contactID'] > 3020000] # Standings character['standings'] = api_oauth.get('{base}user/{username}/{character_id}/standings'.format( base=app.config['J4OAUTH']['base_url'], username=report['user_id'], character_id=character['characterID'] )).json()['standings'] # Wallet character['wallet'] = api_oauth.get('{base}user/{username}/{character_id}/wallet'.format( base=app.config['J4OAUTH']['base_url'], username=report['user_id'], character_id=character['characterID'] )).json()['wallet'] # Assets time ! assets = api_oauth.get('{base}user/{username}/{character_id}/assets'.format( base=app.config['J4OAUTH']['base_url'], username=report['user_id'], character_id=character['characterID'] )).json()['assets'] character['assets'] = EveTools.parse_assets(assets) report['characters'].append(character) return report