예제 #1
0
파일: views.py 프로젝트: gzgdouru/django
def investigate(request):
    # rlt = request.GET["staff"]
    # return HttpResponse(rlt)

    # ctx = {}
    # ctx.update(csrf(request))
    # if request.POST:
    #     ctx["rlt"] = request.POST["staff"]
    # return render(request, "investigate.html", ctx)

    # if request.POST:
    #     submitted = request.POST["staff"]
    #     newRecord = Character(name=submitted)
    #     newRecord.save()
    # ctx = {}
    # ctx.update(csrf(request))
    # allRecords = Character.objects.all()
    # ctx["staff"] = allRecords
    # return render(request, "investigate.html", ctx)

    if request.POST:
        recvForm = CharacterForm(request.POST)
        if recvForm.is_valid():
            submitted = recvForm.cleaned_data["name"]
            newRecord = Character(name=submitted)
            newRecord.save()
    recvForm = CharacterForm()
    ctx = {}
    ctx.update(csrf(request))
    allRecords = Character.objects.all()
    ctx["staff"] = allRecords
    ctx["form"] = recvForm
    return render(request, "investigate.html", ctx)
예제 #2
0
def investigate(request):
    if request.POST:
        form = CharacterForm(request.POST)
        if form.is_valid():
            submitted = form.cleaned_data['name']
            new_record = Character(name=submitted)
            new_record.save()
    form = CharacterForm
    ctx = dict()
    ctx.update(csrf(request))
    all_record = Character.objects.all()
    ctx['staff'] = all_record
    ctx['form'] = form
    return render(request, 'west/investigate.html', ctx)
예제 #3
0
def characters(id=None):
    if request.method == 'GET':
        if id is not None:
            character = Character.query.get(id)    
            if not character:
                return jsonify({"fail": "Character not found"}), 404
            return jsonify({
                "success": "Character found",
                "character": character.serialize()
            }), 200
        else:
            characters = Character.query.all()
            characters = list(map(lambda character: character.serialize(), characters))
            return jsonify({
                "total": len(characters),
                "results": characters
            }), 200
    if request.method == 'POST':
        name = request.json.get('name')
        gender = request.json.get('gender')
        hair_color = request.json.get('hair_color')
        eye_color = request.json.get('eye_color')
        height = request.json.get('height')
        skin_color = request.json.get('skin_color')
        birth_year = request.json.get('birth_year')


        character = Character()
        character.name = name
        character.gender = gender
        character.hair_color = hair_color
        character.eye_color = eye_color
        character.height = height
        character.skin_color = skin_color
        character.birth_year = birth_year
        character.save()

        return jsonify({
            "success": "character created!",
            "character": character.serialize()
        }), 201

    if request.method == 'PUT':
        pass
    if request.method == 'DELETE':
        character = Character.query.get(id)
        if not character: 
            return jsonify({"fail": "character not found"}), 404
        character.delete()
        return jsonify({"success": "character deleted"}), 200
예제 #4
0
def add_character(data_list):
    player = Player.objects.get(id=data_list['player'])
    alignment = Alignments(id=data_list['alignment'])
    size = Sizes(id=data_list['size'])
    character = Character(character_name=data_list['character_name'],
                          player=player, size=size, alignment=alignment,
                          gender=data_list['gender'], race=data_list['race'],
                          age=data_list['age'], height=data_list['height'], weight=data_list['weight'],
                          eyes=data_list['eyes'], hair=data_list['hair'], strength_base=data_list['str'],
                          dexterity_base=data_list['dex'], constitution_base=data_list['con'],
                          intelligence_base=data_list['int'], wisdom_base=data_list['wis'],
                          charisma_base=data_list['cha'])
    character.save()
    levels = Levels(character=Character.objects.get(id=character.id), class_name=data_list['class'], levels=1)
    levels.save()
    return character.character_name
예제 #5
0
파일: views.py 프로젝트: Lulzcritic/Time
 def post(self, request, *args, **kwargs):
     form_class = self.get_form_class()
     form = self.get_form(form_class)
     if form.is_valid():
         user = request.user
         character = Character(user=user, name=request.POST['name'], gender=request.POST['gender'])
         character.save()
         food = Object(obj_type=1)
         food.character = character
         food.save()
         bandage = Object(obj_type=2)
         bandage.character = character
         bandage.save()
         return HttpResponseRedirect('/')
         return self.form_valid(form, **kwargs)
     else:
         return self.form_invalid(form, **kwargs)
예제 #6
0
def investigate(request):
    # if request.GET:
    #     form=CharacterForm(request.GET)  #报错
    form = CharacterForm(request.GET)  #先定义即可

    if request.POST:
        form = CharacterForm(request.POST)  #传入数据格式
        if form.is_valid():
            submitted = form.cleaned_data['name']
            new_record = Character(name=submitted)
            new_record.save()
    ctx = {}
    ctx.update(csrf(request))
    all_records = Character.objects.all()
    ctx['staff'] = all_records
    ctx['form'] = form  #格式单独写报错 form 未定义先用 先在前面的定义
    return render(request, "investigate.html", ctx)
예제 #7
0
 def post(self,charset_key):
     
     character_set = CharacterSet.get(charset_key)
     
     logging.info(character_set)
     
     upload_files = self.get_uploads('file')
     blob_info = upload_files[0]
     
     new_character = Character(
         character = self.request.get("character").upper(),
         character_set = character_set,
         image_blob = blob_info.key(),
         image_url = get_serving_url(blob_info.key()),
     )
     new_character.save()
     
     self.redirect("/admin/%s/" % charset_key)
예제 #8
0
파일: views.py 프로젝트: cincrin/eventCRUD
def run_add_cast(request, run_id):
	"""
	FIXME
	@param request:
	@type request:
	@param run_id:
	@type run_id:
	"""
	run = get_object_or_404(Run, pk=run_id)
	aPlayer = Player(run=run, user=request.user)
	if request.method == "POST":
		form = PlayerForm(request.POST, instance=aPlayer)
		if form.is_valid():
			if request.POST['character']:
				aChar=get_object_or_404(Character, pk=request.POST['character'])
			else:
				if request.POST["characterName"]!="":
					aChar=Character(larp=run.larp, name=request.POST["characterName"])
					aChar.save()
				else:
					aChar=False
			if aChar:
				aPlayer=Player(run=run, user=request.user, character=aChar, characterName=request.POST['characterName'])
				aPlayer.save()
			else:
				aPlayer=Player(run=run, user=request.user)
				aPlayer.save()
			return HttpResponseRedirect(run.get_absolute_url())
	else:
		form = PlayerForm()
		form.run=run_id
		if run.is_past:
			form.fields["character"].queryset = Character.objects.filter(larp=run.larp)
		else:
			if run.larp.spoilerability == 'ch':
				form.fields["character"].queryset = Character.objects.none()
			else:
				form.fields["character"].queryset = Character.objects.filter(larp=run.larp, spoiler=False)
	return render_to_response('eventCRUD/cast_add.html', {
		'form':form, 
		'run':run,
		},
		context_instance=RequestContext(request)
	)
lordnull = Account()
lordnull.email = "*****@*****.**"
lordnull.real_name = "Micah Warren"
lordnull.nickname = "lordnull"
lordnull.save()

print "Finished Account."


liz = Character()
liz.account = morgul
liz.game = precursors
liz.first_name = "Lizbeth"
liz.middle_name = "Anne"
liz.last_name = "Locke"
liz.save()

simon = Character()
simon.account = morgul
simon.game = precursors
simon.first_name = "Jonathan"
simon.middle_name = "Robert"
simon.last_name = "Simon"
simon.save()

louis = Character()
louis.account = whitelynx
louis.game = precursors
louis.first_name = "Louis"
louis.last_name = "Capelle"
louis.save()
예제 #10
0
def create_character(request):
    """
    
    Directed from:
    new_character_view

    Directs to:
    campaign_player_view,

    Request object:
    * requires a authenticated user
    * TODO a whole bunch of stuff

    Associated html templates:
    None (should redirect)
    
    Side effects:
    If everything is valid, create a new character object
    """

    character_submission = json.loads(request.POST.get('character'))

    #character_json_

    #get the campaign TODO validate that this user should be able to
    #join this campaign
    campaign_pk = int(request.POST.get('campaign_pk', None))
    campaign_access_code = request.POST.get('campaign_access_code')

    #get the campaign with this pk and access code.  We don't have to worry about
    #not finding it, because if that's the case, the user is doing something
    #they're not supposed to be doing
    campaign = Campaign.objects.get(pk=campaign_pk,
                                    access_code=campaign_access_code)
    rule_set = campaign.rule_set

    #don't bother validating because, again, the if the name is missing then the
    #user is mucking around where they don't belong.  This should have been validated
    #on the front end.
    character_name = character_submission['name']

    #create the character
    new_character = Character(owning_user=request.user,
                              name=character_name,
                              campaign=campaign)
    new_character.save()

    #set up a new StatisticInstanceSet for this chars base stats
    new_stat_set = StatisticInstanceSet()
    new_stat_set.save()
    for s_pk, value in character_submission['base_statistics'].items():
        new_stat_set.set_modifier(Statistic.objects.get(pk=s_pk), value)
    new_character.base_statistics = new_stat_set

    #set up a new DerivedStatisticInstance for every always_instantiated
    #DerivedStatistic
    for ds in DerivedStatistic.objects.filter(rule_set=rule_set,
                                              always_instantiated=True):
        dsi = DerivedStatisticInstance(character=new_character, statistic=ds)
        if dsi.statistic.depleatable:
            dsi.maximize()
        dsi.save()

    #add the classes to the character, and build the generated description
    generated_description = ""
    for c_pk in character_submission['classes']:
        class_object = Class.objects.get(pk=c_pk)
        generated_description += class_object.name + " "
        new_character.classes.add(class_object)
    new_character.generated_description = generated_description
    #new_character.save()

    #put everything in the rules' defult inventory set into the characters
    #inventory
    #TODO we actually need to make a deeper copy XXX BUG
    if rule_set.default_inventory_set:
        new_character.inventory_set = rule_set.default_inventory_set.deep_copy(
        )
    new_character.save()

    #add the slots
    for c in new_character.classes.all():
        print('char ', c)
        print('slots ', c.slots.all())
        for s in c.slots.all():
            new_character_item_slot = CharacterItemSlot(
                character=new_character, item_slot=s)
            new_character_item_slot.save()
            print('making them new slots!!!!')

    #success condition!!!
    return JsonResponse({'c_pk': new_character.pk})