def page_estimated_dope(request, load_pk='3'): step_hit_count_by_page(request.path) try: selected_load = EstimatedDope.objects.get(hand_load=load_pk) context = { # "restart": get_restart_notice, 'load_id': load_pk, 'release': get_version_json(), "title": "Estimated Dope", # "blurb": "I'll move it to a database setup in a bit.", "blurb": get_page_blurb_override('load_data/estimated_dope/'), 'load_details': selected_load, "copy_year": datetime.now().year, } except ObjectDoesNotExist: context = { # "restart": get_restart_notice, 'load_id': load_pk, 'release': get_version_json(), "title": "Master Po Load Data", "blurb": get_page_blurb_override('load_data/estimated_dope/NO-DOPE-FOUND/'), "copy_year": datetime.now().year, } return render(request, "loaddata/estimated_dope.html", context)
def page_groundhog_removals_scoreboard_annual(request): step_hit_count_by_page(request.path) logs = groundhog_removal_scoreboard_annual() last_year = datetime.now() - timedelta(days=(1 * 365)) last_year_year = last_year.strftime("%Y") last_year_month = last_year.strftime("%B") last_year_day = last_year.strftime("%m") rolling_year_date = "{0} {1} of {2}".format(last_year_month, ordinal(last_year_day), last_year_year) now = datetime.now() now_year = now.strftime("%Y") now_month = now.strftime("%B") now_day = now.strftime("%m") now_string = "{0} {1} of {2}".format(now_month, ordinal(now_day), now_year) context = { # "restart": get_restart_notice, "copy_year": datetime.now().year, "rolling_year_date": rolling_year_date, "datetime_now": now_string, "logs": logs, 'release': get_version_json(), "title": "Top Groundhog Removers", "blurb": get_page_blurb_override('groundhog_logbook/removal_scoreboard/'), } return render( request, "groundhog_logbook/groundhog_removal_scoreboard_annual.html", context)
def page_farm_invites_view_lkg(request): step_hit_count_by_page(request.path) this_moment = datetime.now() all_invites = InviteListing.objects.filter( Q(Show_Listing=True) & Q(Cancel_Code="InviteActive") & (Q(Invite_Date=this_moment.date()) | Q(Invite_Date__gt=this_moment.date()))).order_by('Invite_Date', 'Invite_Secondary', 'Desired_Time_Slot', ) context = { 'contact_good': 'COMPLETE', 'contact_okay': '85%', 'contact_poor': '66%', 'contact_bad': '5%', 'release': get_version_json(), "title": "Farm Range Invites", "blurb": "Pay attention to the registration completion grade. If the only way to reach you is via MDShooters_LKG " "forms or work chat you are at risk of having your invite retracted to make room for someone else " "that I can communicate with. " "Your invite registration completion will update as the additional info is entered into the " "system.<br /><br /> " "66% is fine, higher is better/easier." "<li>COMPLETE - I have Phone and email to reach you.</li>" "<li>85% - I have your phone number to reach you.</li>" "<li>66% - I have your email to reach you.</li>" "<li>5% - I only have MDShooters_LKG or work chat to reach you. <i>You're at risk of being removed from " "the invites.</i></li> " "" , 'all_invites': all_invites, "copy_year": datetime.now().year } return render(request, "farminvite/calendar_list.html", context)
def admintool_restart_gunicorn_and_nginx(request): step_hit_count_by_page(request.path) command = ["bash", "admin_toolbox/server_control.sh", "restart_gunicorn_and_nginx"] try: process = Popen(command, stdout=PIPE, stderr=STDOUT) output = process.stdout.read() exit_status = process.poll() result = {} if exit_status == 0: result = {"status": "Success", "output": str(output)} # return JsonResponse({"status": "Success", "output": str(output)}) else: result = {"status": "Failed", "output": str(output)} # return JsonResponse({"status": "Failed", "output": str(output)}) except Exception as e: result = {"status": "failed", "output": str(e)} # return JsonResponse({"status": "failed", "output": str(e)}) context = { # "restart": get_restart_notice, 'release': get_version_json(), "title": "AdminTool: Restart Gunicorn & Nginx", # "blurb": "I moved the calculator to its own page.", "blurb": get_page_blurb_override('admin_tool/restart_gunicorn_and_nginx/'), "copy_year": datetime.now().year, "table_data": result, } return render(request, "admin_toolbox/output.html", context)
def caliber_create_view(request): step_hit_count_by_page(request.path) form = CaliberForm(request.POST or None) if form.is_valid(): # over ride values to track the submission safe_form = form.save(commit=False) safe_form.author_pk = request.user.pk safe_form.is_approved = False safe_form.save() form = CaliberForm() all_calibers = Caliber.objects.all().order_by('-diameter') context = { # "restart": get_restart_notice, 'release': get_version_json(), "title": "Caliber Creation Tool", # "blurb": "I moved the calculator to its own page.", "blurb": get_page_blurb_override('load_data/toolbox/create_caliber/'), "copy_year": datetime.now().year, "all_calibers": all_calibers, 'form': form, } return render(request, "loaddata/caliber_create.html", context)
def page_missing_contact_info(request): step_hit_count_by_page(request.path) this_moment = datetime.now() all_invites = InviteListing.objects.filter( Q(Invite_Date=this_moment.date()) | Q(Invite_Date__gt=this_moment.date())).order_by('Invite_Date', 'Invite_Secondary', 'Desired_Time_Slot', ) context = { 'release': get_version_json(), "title": "Registration Completion Guideline", "blurb": "Please provide some contact info if you show up on this list as having it missing. Failure to do so " "will result in your name being removed from the invite list to make room for people that I can get " "in touch with. Entries without at least one or the other will be removed five days before the event " "and the invite will be " "sent to the secondary person for that day.<br /><br />" "I don't need both email and phone but it makes life much easier to have a phone listed on file. My " "cellphone service isn't great at the farm and I might not be able to email you. The text messages " "on the other hand will go thru, eventually.<br /><br />" "Your invite registration completion will update as the additional info is entered into the system." "" , 'all_invites': all_invites, "copy_year": datetime.now().year } return render(request, "farminvite/missing_contact_info.html", context)
def page_meme_by_subreddit(request, subreddit): step_hit_count_by_page(request.path) meme = leach_post_subreddit(subreddit) print( meme ) # {'code': 404, 'message': "This subreddit has no posts or doesn't exist."} buffer = {} try: if meme['code'] == 404: buffer['subreddit'] = subreddit buffer[ 'title'] = "This subreddit has no posts or doesn't exist. Here's a random picsum picture." buffer['url'] = "https://picsum.photos/400" meme = buffer except KeyError as key_error: print("We found a key_error, because it has valid data!") context = { "copy_year": datetime.now().year, 'release': get_version_json(), "title": "Meme Leach: {0}".format(subreddit), "meme": meme, "blurb": get_page_blurb_override('meme_leach/fetch'), } return render(request, "meme_leach/subreddit.html", context)
def powder_create_view(request): step_hit_count_by_page(request.path) # data = {'Query': 'Complete', 'Result': 'The query completed but this is not an endpoint with data.'} # return JsonResponse(data) form = PowderForm(request.POST or None) if form.is_valid(): # over ride values to track the submission safe_form = form.save(commit=False) safe_form.author_pk = request.user.pk safe_form.is_approved = False safe_form.save() form = PowderForm() all_powders = Powder.objects.all().order_by('-name') context = { # "restart": get_restart_notice, 'release': get_version_json(), "title": "Powder Creation Tool", # "blurb": "I moved the calculator to its own page.", "blurb": get_page_blurb_override('load_data/toolbox/create_powder/'), "copy_year": datetime.now().year, "all_powders": all_powders, 'form': form, } return render(request, "loaddata/powder_create.html", context)
def page_view_watches_reset(request): step_hit_count_by_page(request.path) users_in_group = Group.objects.get(name="restricted-group").user_set.all() if request.user not in users_in_group: context = { # "restart": get_restart_notice, 'release': get_version_json(), "title": "Status Watcher", "blurb": "You're not allowed access to this resource at this time.", "copy_year": datetime.now().year } return render(request, "imrunicorn/access_denied.html", context) watches = get_watch_list() for item in watches: # page_search = search_url_for_magic_string(item.item_link, item.item_phrase) item.item_exception = "reset" item.item_phrase_not_exist = None item.save() context = { # "restart": get_restart_notice, 'release': get_version_json(), "title": "Status Watcher", # "blurb": "This page is a place holder for what's to come soon.", "blurb": get_page_blurb_override('status_watcher/view_watches/'), 'watch_list': watches, "copy_year": datetime.now().year } return render(request, "status_watcher/view_list.html", context)
def page_home_old(request): step_hit_count_by_page(request.path) context = { 'body': 'no body to share', 'header': 'Status', } return JsonResponse(context)
def buzz_words_or_phrases_list_all(request): step_hit_count_by_page(request.path) words = get_all_buzz_words_or_phrases() new_entries = words['new_entries'] word_list = words['result'] context = { "copy_year": datetime.now().year, 'release': get_version_json(), "title": "Content Collection: Buzz Words (or Phrases)", "words": word_list, "new_words_or_phrases": new_entries, "blurb": get_page_blurb_override( 'content_collection/buzz_words_or_phrases_list_all/'), } return render(request, "content_collection/buzz_words_or_phrases_list_all.html", context)
def page_sketch_by_pk(request, sketch_pk=1): step_hit_count_by_page(request.path) sketch = get_sketch_by_pk(sketch_pk) blurb = get_page_blurb_override( 'content_collection/sketches/') # default blurb override unrestricted = False has_permission = False special_permission = 'Content_Collection.View_ArduinoUnoSketch' has_permission = request.user.has_perm(special_permission.lower()) if sketch[0].restricted: if has_permission: unrestricted = True blurb = sketch[0].title else: blurb = "Sketch title hidden due to access reasons." else: unrestricted = True blurb = sketch[0].title context = { "sketch": sketch, "special_permission": special_permission, "copy_year": datetime.now().year, 'release': get_version_json(), 'unrestricted_user': unrestricted, "title": "Sketch: #{sketch_pk}".format(sketch_pk=sketch_pk), "blurb": blurb, } return render(request, "content_collection/sketch.html", context)
def page_loads(request): step_hit_count_by_page(request.path) all_loads = HandLoad.objects.all().order_by( 'Is_Sheriff_Load', '-prod', '-projectile__Diameter').annotate( prod=ExpressionWrapper(F('projectile__WeightGR') * 0.5 / 7000 / 32.127 * F('Velocity') * F('Velocity'), output_field=FloatField()), rps=ExpressionWrapper(F('Velocity') * 720 / F('firearm__inches_per_twist') / 60, output_field=IntegerField())) # there's probably a better way to do this but, this works for now. for load in all_loads: load.has_info = False has_dope = EstimatedDope.objects.all().filter(Q(hand_load=load.pk)) if has_dope: load.has_info = True context = { # "restart": get_restart_notice, 'release': get_version_json(), "title": "Load Data", "blurb": get_page_blurb_override('load_data/loads/'), 'all_loads': all_loads, "copy_year": datetime.now().year } return render(request, "loaddata/djangoad.html", context)
def unused_json_farm_invites_view(request): step_hit_count_by_page(request.path) context = { 'body': 'no body to share', 'header': 'farm invites view', } return JsonResponse(context)
def json_all_news_json(request): step_hit_count_by_page(request.path) context = { # "restart": get_restart_notice, "name": "peter griffin", "channel": "fox", } return JsonResponse(context)
def sample(request): step_hit_count_by_page(request.path) data = { # "restart": get_restart_notice, 'Query': 'Complete', 'Result': 'The query completed but this is not an endpoint with data.' } return JsonResponse(data)
def no_request_found(request): step_hit_count_by_page(request.path) context = { # "restart": get_restart_notice, 'body': 'no_request_found', 'header': 'no_request_found view', } return JsonResponse(context)
def page_coming_soon(request): step_hit_count_by_page(request.path) context = { "copy_year": datetime.now().year, 'release': get_version_json(), "title": "DCSA Info: Coming Soon", "blurb": get_page_blurb_override('dcsa_info/coming_soon/'), } return render(request, "dcsa_info/coming_soon.html", context)
def page_blank(request): step_hit_count_by_page(request.path) context = { "copy_year": datetime.now().year, 'release': get_version_json(), "title": "Activity Log: home", "blurb": get_page_blurb_override('activity_log/home/'), } return render(request, "activity_log/home.html", context)
def page_home(request): step_hit_count_by_page(request.path) context = { "copy_year": datetime.now().year, 'release': get_version_json(), "title": "Bingo: Home", "blurb": get_page_blurb_override('bingo/home/'), } return render(request, "bingo/home.html", context)
def page_blank(request): step_hit_count_by_page(request.path) context = { "copy_year": datetime.now().year, 'release': get_version_json(), "title": "Deer Wait List: Blank", "blurb": get_page_blurb_override('deer_wait_list/blank/'), } return render(request, "deer_wait_list/blank.html", context)
def page_home(request): step_hit_count_by_page(request.path) context = { "copy_year": datetime.now().year, 'release': get_version_json(), "title": "Shooting Challenges", "blurb": get_page_blurb_override('shooting_challenge/home/'), } return render(request, "shooting_challenge/home.html", context)
def page_blank(request): step_hit_count_by_page(request.path) context = { "copy_year": datetime.now().year, 'release': get_version_json(), "title": "Content Collection: Blank", "blurb": get_page_blurb_override('content_collection/blank/'), } return render(request, "content_collection/blank.html", context)
def home_create_view(request): step_hit_count_by_page(request.path) context = { 'release': get_version_json(), "title": "C.R.U.D. Home", "blurb": get_page_blurb_override('load_data/toolbox/create_home/'), "copy_year": datetime.now().year, } return render(request, "loaddata/create_home.html", context)
def unused_page_farm_invites_view(request): step_hit_count_by_page(request.path) context = { 'release': get_version_json(), "title": "Coming Soon", "blurb": "This page is a place holder for what's to come soon.", "table_data": 'Shake it like it\'s going out of style!', "copy_year": datetime.now().year } return render(request, "farminvite/coming_soon.html", context)
def page_blank(request): step_hit_count_by_page(request.path) context = { # "restart": get_restart_notice, "copy_year": datetime.now().year, 'release': get_version_json(), "title": "Call Of The Wild: Blank", "blurb": get_page_blurb_override('call_of_the_wild/blank/'), } return render(request, "call_of_the_wild/blank.html", context)
def page_trophy_stats(request): step_hit_count_by_page(request.path) context = { # "restart": get_restart_notice, "copy_year": datetime.now().year, 'release': get_version_json(), "title": "Call Of The Wild: Trophy Stats", "blurb": get_page_blurb_override('call_of_the_wild/need_zone_times/'), } return render(request, "call_of_the_wild/trophy_stats.html", context)
def page_farm_check_list(request): step_hit_count_by_page(request.path) context = { 'release': get_version_json(), "title": "What should I bring?", # "blurb": "Pre-pack your car/truck it helps to prevent forgetting things.", "blurb": get_page_blurb_override('/farm_invite/pending/'), "copy_year": datetime.now().year } return render(request, "farminvite/what_to_bring.html", context)
def page_farm_invites_map(request): step_hit_count_by_page(request.path) context = { 'release': get_version_json(), "title": "Farm Invite: Map", "table_data": 'Shake it like it\'s going out of style!', # "blurb": get_page_blurb_override('/farm_invite/pending/'), "copy_year": datetime.now().year } return render(request, "farminvite/farm_map.html", context)
def page_how_to_sign_up(request): step_hit_count_by_page(request.path) context = { 'release': get_version_json(), "title": "How to sign up", "blurb": "The process has changed!", "cash_app": "Show_QR_Code", # "blurb": get_page_blurb_override('/farm_invite/pending/'), "copy_year": datetime.now().year } return render(request, "farminvite/sign_up_how.html", context)