Merge pull request #14 from R4stl1n/master

update
This commit is contained in:
Mr McClain 2016-03-08 16:48:46 -06:00
commit 786332ace7
13 changed files with 55 additions and 45 deletions

View File

@ -18,10 +18,7 @@ Join us in-game in the channel allianceauth for help and feature requests.
Special Thanks: Special Thanks:
Thanking Nikdoof, without his old auth Thanking Nikdoof, without his old auth implementation this project wouldn't be as far as it is now.
implementation this project wouldn't be as far as it is now.
Thanks to Raynaldo for his original work on this system and getting it as far as it is today.
Note: Note:
@ -67,10 +64,8 @@ Special Permissions In Admin:
auth | user | jabber_broadcast ( Access to broadcast a message over jabber to own groups) auth | user | jabber_broadcast ( Access to broadcast a message over jabber to own groups)
auth | user | jabber_broadcast_all ( Can choose from all groups and the 'all' option when broadcasting) auth | user | jabber_broadcast_all ( Can choose from all groups and the 'all' option when broadcasting)
auth | user | blue_member ( Auto Added to people who register has a blue when adding api key) auth | user | blue_member ( Auto Added to people who register has a blue when adding api key)
auth | user | corp_stats ( View basic corp auth stats *who is authed etc*) auth | user | corp_apis ( View APIs, and jackKnife, of all members in user's corp. )
auth | user | corputils ( View who has registered APIs, which alts belong to which main, and more. ) auth | user | alliance_apis ( View APIs, and jackKnife, of all member in user's alliance member corps. )
auth | user | corp_apis ( View APIs, andjackKnife, of all member in current corp. )
auth | user | alliance_apis ( View APIs, andjackKnife, of all member in whole alliance. )
auth | user | timer_management ( Access to create and remove timers) auth | user | timer_management ( Access to create and remove timers)
auth | user | timer_view ( Access to timerboard to view timers) auth | user | timer_view ( Access to timerboard to view timers)
auth | user | srp_management ( Allows for an individual to create and remove srp fleets and fleet data) auth | user | srp_management ( Allows for an individual to create and remove srp fleets and fleet data)

View File

@ -403,7 +403,7 @@ LOGGING = {
'log_file': { 'log_file': {
'level': 'INFO', # edit this line to change logging level to file 'level': 'INFO', # edit this line to change logging level to file
'class': 'logging.handlers.RotatingFileHandler', 'class': 'logging.handlers.RotatingFileHandler',
'filename': os.path.join(BASE_DIR,'allianceauth.log'), 'filename': os.path.join(BASE_DIR,'log/allianceauth.log'),
'formatter': 'verbose', 'formatter': 'verbose',
'maxBytes': 1024*1024*5, # edit this line to change max log file size 'maxBytes': 1024*1024*5, # edit this line to change max log file size
'backupCount': 5, # edit this line to change number of log backups 'backupCount': 5, # edit this line to change number of log backups

View File

@ -555,7 +555,7 @@ def run_api_refresh():
logger.info("User %s main character id %s missing model. Clearning main character." % (user, authserviceinfo.main_char_id)) logger.info("User %s main character id %s missing model. Clearning main character." % (user, authserviceinfo.main_char_id))
authserviceinfo.main_char_id = '' authserviceinfo.main_char_id = ''
authserviceinfo.save() authserviceinfo.save()
notify(user, "Main Character Reset", message="Your specified main character no longer has a model.\nThis could be the result of an invalid API\nYour main character ID has been reset." % api_key_pair.api_id, level="warn") notify(user, "Main Character Reset", message="Your specified main character no longer has a model.\nThis could be the result of an invalid API\nYour main character ID has been reset.", level="warn")
set_state(user) set_state(user)
def populate_alliance(id, blue=False): def populate_alliance(id, blue=False):

View File

@ -16,6 +16,13 @@ class UpdateKeyForm(forms.Form):
api_id = forms.CharField(max_length=254, required=True, label="Key ID") api_id = forms.CharField(max_length=254, required=True, label="Key ID")
api_key = forms.CharField(max_length=254, required=True, label="Verification Code") api_key = forms.CharField(max_length=254, required=True, label="Verification Code")
def clean_api_id(self):
try:
api_id = int(self.cleaned_data['api_id'])
return api_id
except:
raise forms.ValidationError("API ID must be a number")
def clean(self): def clean(self):
super(UpdateKeyForm, self).clean() super(UpdateKeyForm, self).clean()

2
log/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*
!.gitignore

View File

@ -237,7 +237,7 @@ class EveApiManager():
logger.debug("Confirmed id %s is a character." % character_id) logger.debug("Confirmed id %s is a character." % character_id)
return True return True
except evelink.api.APIError as error: except evelink.api.APIError as error:
logger.exception("APIError occured while checking if id %s is a character. Possibly not character?" % character_id) logger.debug("APIError occured while checking if id %s is a character. Possibly not character?" % character_id, exc_info=True)
logger.debug("Unable to verify id %s is a character." % character_id) logger.debug("Unable to verify id %s is a character." % character_id)
return False return False

View File

@ -4,20 +4,20 @@ from django.core.validators import MaxValueValidator, MinValueValidator
class SignatureForm(forms.Form): class SignatureForm(forms.Form):
sigtype = [('Wormhole', 'Wormhole'), ('Combat', 'Combat'), ('Data', 'Data'), mass_status = [('More Than 50%', 'More Than 50%'), ('Less Than 50%', 'Less Than 50%'), ('Less Than 10%', 'Less Than 10%')]
('Relic', 'Relic'), ('Gas', 'Gas'), ('Ore', 'Ore')] lifetime_status = [('More Than 24 Hours', 'More Than 24 Hours'), ('Less Than 24 Hours', 'Less Than 24 Hours'), ('Less Than 4 Hours', 'Less Than 4 Hours')]
status = [('Open', 'Open'), ('Started', 'Started'), ('Finished', 'Finished'), ('Life cycle has not begun', 'Life cycle has not begun'), ships_size = [('Only Smallest', 'Only Smallest'), ('Up to Medium', 'Up to Medium'), ('Larger', 'Larger'), ('Very Large', 'Very Large')]
('Probably wont last another day', 'Probably wont last another day'), ('End of its natural lifetime', 'End of its natural lifetime'),
('stability not significantly disrupted', 'stability not significantly disrupted'),
('Stability reduced not critical degree yet', 'Stability reduced not critical degree yet'),
('Wormhole stability critically disrupted', 'Wormhole stability critically disrupted')]
system = forms.CharField(max_length=254, required=True, label='System') system = forms.CharField(max_length=254, required=True, label='System')
ident = forms.CharField(max_length=254, required=True, label="ID") ident = forms.CharField(max_length=254, required=True, label="ID")
sigtype = forms.ChoiceField(choices=sigtype, required=True, label="Signature Type") lifetime_status = forms.ChoiceField(choices=lifetime_status, required=True, label="Lifetime Status")
destination = forms.CharField(max_length=254, label="destination", required=True, initial="") mass_status = forms.ChoiceField(choices=mass_status, required=True, label="Mass Status")
status = forms.ChoiceField(choices=status, required=True, label="Status") ships_size = forms.ChoiceField(choices=ships_size, required=True, label="Ship Size")
destination = forms.CharField(max_length=254, label="End Destination", required=True, initial="")
through_dest = forms.CharField(max_length=254, label="Goes Through", required=True, initial="")
notes = forms.CharField(max_length=254, label="Notes", required=False, initial="") notes = forms.CharField(max_length=254, label="Notes", required=False, initial="")

View File

@ -11,9 +11,12 @@ class sigtracker(models.Model):
ident = models.CharField(max_length=254, default="") ident = models.CharField(max_length=254, default="")
system = models.CharField(max_length=254, default="") system = models.CharField(max_length=254, default="")
destination = models.CharField(max_length=254, default="") destination = models.CharField(max_length=254, default="")
sigtype = models.CharField(max_length=254, default="") lifetime_status = models.CharField(max_length=254, default="")
status = models.CharField(max_length=254, default="") mass_status = models.CharField(max_length=254, default="")
ships_size = models.CharField(max_length=254, default="")
notes = models.CharField(max_length=254, default="") notes = models.CharField(max_length=254, default="")
through_dest = models.CharField(max_length=254, default="")
post_time = models.DateTimeField(default=timezone.now) post_time = models.DateTimeField(default=timezone.now)
eve_character = models.ForeignKey(EveCharacter) eve_character = models.ForeignKey(EveCharacter)

View File

@ -51,8 +51,10 @@ def add_signature_view(request):
sig.ident = form.cleaned_data['ident'] sig.ident = form.cleaned_data['ident']
sig.system = form.cleaned_data['system'] sig.system = form.cleaned_data['system']
sig.destination = form.cleaned_data['destination'] sig.destination = form.cleaned_data['destination']
sig.sigtype = form.cleaned_data['sigtype'] sig.lifetime_status = form.cleaned_data['lifetime_status']
sig.status = form.cleaned_data['status'] sig.mass_status = form.cleaned_data['mass_status']
sig.ships_size = form.cleaned_data['ships_size']
sig.through_dest = form.cleaned_data['through_dest']
sig.notes = form.cleaned_data['notes'] sig.notes = form.cleaned_data['notes']
sig.create_time = post_time sig.create_time = post_time
sig.eve_character = character sig.eve_character = character
@ -94,8 +96,10 @@ def edit_signature(request, sigtracker_id):
sig.ident = form.cleaned_data['ident'] sig.ident = form.cleaned_data['ident']
sig.system = form.cleaned_data['system'] sig.system = form.cleaned_data['system']
sig.destination = form.cleaned_data['destination'] sig.destination = form.cleaned_data['destination']
sig.sigtype = form.cleaned_data['sigtype'] sig.lifetime_status = form.cleaned_data['lifetime_status']
sig.status = form.cleaned_data['status'] sig.mass_status = form.cleaned_data['mass_status']
sig.ships_size = form.cleaned_data['ships_size']
sig.through_dest = form.cleaned_data['through_dest']
sig.notes = form.cleaned_data['notes'] sig.notes = form.cleaned_data['notes']
sig.eve_character = character sig.eve_character = character
logger.info("User %s updating sigtracker id %s " % (request.user, sigtracker_id)) logger.info("User %s updating sigtracker id %s " % (request.user, sigtracker_id))
@ -108,9 +112,11 @@ def edit_signature(request, sigtracker_id):
'ident': sig.ident, 'ident': sig.ident,
'system': sig.system, 'system': sig.system,
'destination': sig.destination, 'destination': sig.destination,
'sigtype': sig.sigtype, 'lifetime_status': sig.lifetime_status,
'status': sig.status, 'mass_status': sig.mass_status,
'ships_size': sig.ships_size,
'through_dest': sig.through_dest,
'notes': sig.notes, 'notes': sig.notes,
} }
form = SignatureForm(initial= data) form = SignatureForm(initial= data)
return render_to_response('registered/signatureupdate.html', {'form':form}, context_instance=RequestContext(request)) return render_to_response('registered/signatureupdate.html', {'form':form}, context_instance=RequestContext(request))

View File

@ -152,7 +152,7 @@
<li> <li>
<a {% ifequal request.path "/sigtracker" %} class="active" {% endifequal %} <a {% ifequal request.path "/sigtracker" %} class="active" {% endifequal %}
href="{% url 'auth_signature_view' %}"><i href="{% url 'auth_signature_view' %}"><i
class="fa fa-compass fa-fw grayiconecolor"></i> Signature Tracker</a> class="fa fa-compass fa-fw grayiconecolor"></i> Wormhole Tracker</a>
</li> </li>
<li> <li>

View File

@ -9,7 +9,6 @@
<div class="col-lg-12"> <div class="col-lg-12">
<h1 class="page-header text-center">Corporation Member Data</h1> <h1 class="page-header text-center">Corporation Member Data</h1>
{% if perms.auth.corputils %}
<div class="col-lg-12 container" id="example"> <div class="col-lg-12 container" id="example">
{% if corp %} {% if corp %}
<div class="row"> <div class="row">
@ -188,12 +187,5 @@
</div> </div>
{% endif %} {% endif %}
</div> </div>
{% else %}
{% if IS_CORP %}
<div class="alert alert-danger" role="alert">You are not in the corporation.</div>
{% else %}
<div class="alert alert-danger" role="alert">You are not in the alliance.</div>
{% endif %}
{% endif %}
</div> </div>
{% endblock content %} {% endblock content %}

View File

@ -3,12 +3,12 @@
{% block title %}Alliance Auth{% endblock %} {% block title %}Alliance Auth{% endblock %}
{% block page_title %}Signature Management{% endblock page_title %} {% block page_title %}Wormhole Signature Management{% endblock page_title %}
{% block extra_css %}{% endblock extra_css %} {% block extra_css %}{% endblock extra_css %}
{% block content %} {% block content %}
<div class="col-lg-12"> <div class="col-lg-12">
<h1 class="page-header text-center">Signatures <h1 class="page-header text-center">Wormhole Signatures
<div class="text-right"> <div class="text-right">
<a href="{% url 'auth_add_signature_view' %}"> <a href="{% url 'auth_add_signature_view' %}">
{% if perms.auth.signature_management %} {% if perms.auth.signature_management %}
@ -22,8 +22,10 @@
<th class="text-center">ID</th> <th class="text-center">ID</th>
<th class="text-center">System</th> <th class="text-center">System</th>
<th class="text-center">Destination</th> <th class="text-center">Destination</th>
<th class="text-center">Signature Type</th> <th class="text-center">Goes Through</th>
<th class="text-center">Status</th> <th class="text-center">Lifetime Status</th>
<th class="text-center">Mass Status</th>
<th class="text-center">Ship Size</th>
<th class="text-center">Notes</th> <th class="text-center">Notes</th>
<th class="text-center">Post Time</th> <th class="text-center">Post Time</th>
{% if perms.auth.signature_management %} {% if perms.auth.signature_management %}
@ -40,7 +42,10 @@
<a href="http://evemaps.dotlan.net/system/{{ sigt.system }}">{{ sigt.system }}</a> <a href="http://evemaps.dotlan.net/system/{{ sigt.system }}">{{ sigt.system }}</a>
</td> </td>
<td style="width:150px" class="text-center">{{ sigt.destination }}</td> <td style="width:150px" class="text-center">{{ sigt.destination }}</td>
<td style="width:150px" class="text-center">{{ sigt.sigtype }}</td> <td style="width:150px" class="text-center">{{ sigt.through_dest }}</td>
<td style="width:150px" class="text-center">{{ sigt.lifetime_status }}</td>
<td style="width:150px" class="text-center">{{ sigt.mass_status }}</td>
<td style="width:150px" class="text-center">{{ sigt.ships_size }}</td>
<td style="width:150px" class="text-center">{{ sigt.status }}</td> <td style="width:150px" class="text-center">{{ sigt.status }}</td>
<td style="width:150px" class="text-center">{{ sigt.notes }}</td> <td style="width:150px" class="text-center">{{ sigt.notes }}</td>
<td style="width:150px" class="text-center">{{ sigt.post_time}}</td> <td style="width:150px" class="text-center">{{ sigt.post_time}}</td>

View File

@ -1,4 +1,4 @@
pip install --upgrade -r requirements.txt pip install -r requirements.txt
yes yes | python manage.py syncdb yes yes | python manage.py syncdb
yes yes | python manage.py evolve --hint --execute yes yes | python manage.py evolve --hint --execute
yes yes | python manage.py collectstatic yes yes | python manage.py collectstatic