コード例 #1
0
ファイル: views.py プロジェクト: Nik-Khandelwal/regsoft
def confirm_group(request):
    if request.user.is_authenticated():
        if is_firewallz_admin(request.user):
            pass
        else:
            logout(request)
            return HttpResponseRedirect('/regsoft/')
    else:
        return HttpResponseRedirect('/regsoft/')
    grp = Group()
    grp.group_code = group_code_generator()
    grp.save()
    if request.method == 'POST':
        data = json.loads(request.body.decode('utf-8'))
        print(data)
        for dt in data['data']:
            print(dt['pk'])
            Player = Regplayer.objects.get(pk=dt['pk'])
            print(Player.name.name)
            Player.entered = True
            Player.unbilled_amt = 1100 - int(Player.name.pcramt)
            Player.name.grp_leader = dt['groupleader']
            Player.save()
            pl = Enteredplayer()
            pl.regplayer = Player
            pl.group = grp
            pl.save()
            if dt['groupleader'] == 1:
                grp.group_leader = int(dt['pk'])
                grp.save()
        data = {"groupcode": grp.group_code, "pk": grp.pk}
        return HttpResponse(json.dumps(data), content_type='application/json')
コード例 #2
0
def create_new_group(request, listing_id):
    try:
        listing = Listing.objects.get(pk=listing_id)
    except Listing.DoesNotExist:
        viewlog.error(
            "{request.path}: Listing with PK {listing_id} does not exist")
        return Response({'error': "Listing not found"},
                        status=status.HTTP_404_NOT_FOUND)

    if listing.group is not None:
        viewlog.error("{request.path}: Listing already in a Group")
        return Response({'error': "Listing is already in a group"},
                        status=status.HTTP_400_BAD_REQUEST)

    if listing.lister != request.user:
        viewlog.error(
            "{request.path}: Only lister of a listing can create a group for listing"
        )
        return Response(
            {'error': "Only lister can create a group for a listing"},
            status=status.HTTP_400_BAD_REQUEST)

    group = Group()
    group.start = listing.start
    group.end = listing.end
    group.to_location = listing.to_location
    group.from_location = listing.from_location

    group.save()

    group.members.add(listing)

    group.save()

    return Response(group.to_dict(), status=status.HTTP_201_CREATED)
コード例 #3
0
def _create_unique_key(team: Group):
    team_id_changed = team.pk % 1000 + 1000
    owner_id_changed = team.owner.pk % 1000 + 1000
    date_now = datetime.today()
    date_changed_str = '{}{}{}{}{}{}{}'.format(date_now.day, date_now.month,
                                               date_now.year, date_now.hour,
                                               date_now.minute,
                                               date_now.second,
                                               date_now.microsecond)
    key = '{}{}{}'.format(team_id_changed, owner_id_changed, date_changed_str)
    team.key = key
    team.save()
コード例 #4
0
def create_team(request):
    if auth.get_user(request).is_anonymous:
        return redirect('/')
    profile = get_user_profile(request)
    if profile.company is None:
        return render(request, 'main/errors/global_error.html',
                      {'global_error': "403"})
    new_group = Group()
    new_group.owner = profile
    new_group.name = 'Новая команда'
    new_group.description = 'Измените описание в настройках'
    new_group.company = profile.company
    new_group.save()
    _create_unique_key(new_group)

    profile.groups.add(new_group)
    return redirect('/team/{}/'.format(new_group.pk))
コード例 #5
0
	def create_group(self, week, group):
		group = Group(week=week, group=group)
		group.save()
		for player_id in [1,2,3,4]:
			group.players.add(Player.objects.get(id=player_id))
		return group
コード例 #6
0
def create_new_groups(*args, **kwargs):
    """Puts records into new groups if they do not have one yet and can meld with one another.

    Each record will have only one group (person) or none if it's alone.
    Predicate methods must contain one or more method names from GroupRecord class.
    Predicate methods must be defined and maintained in GroupRecord model.
    Call with "satisfies_new_group_condition" to form new groups.
    """
    def key_function(gr):
        """For sorting by birth date"""
        if gr.birth_date is None:
            return date.today()
        else:
            return gr.birth_date

    predicate_methods = kwargs.pop(
        'predicate_methods',
        ['satisfies_new_group_condition', 'not_forbidden'])
    if len(predicate_methods) == 0:
        raise AttributeError(
            "Predicate methods must contain at least one method")
    print("Starting creation of new groups")
    print("Extracting records")
    key = key_function
    unresolved_records = list(GroupRecord.objects.filter(group__isnull=True))
    unresolved_records.sort(key=key)
    record_groups = []
    print("Sorting")
    for k, g in groupby(unresolved_records, key=key):
        record_groups.append(list(g))
    records_to_update = []
    groups_to_update = []
    print("Iterating through groups")
    cntr = 0
    total = len(record_groups)
    for same_date_group in record_groups:
        cntr += 1
        if cntr % 100 == 0:
            print("{} of {} date groups handled".format(cntr, total))
        new_groups = []
        for record_pair in combinations(same_date_group, 2):
            a = record_pair[0]
            b = record_pair[1]
            if a.check_predicates(predicate_methods=predicate_methods,
                                  another_record=b,
                                  **kwargs):
                a_in_group = False
                b_in_group = False
                new_group = None
                if a.group is not None and a.group in new_groups:
                    a_in_group = True
                    new_group = a.group
                if b.group is not None and b.group in new_groups:
                    b_in_group = True
                    new_group = b.group
                if new_group is None:
                    new_group = Group()
                    new_groups.append(new_group)
                    new_group.save()
                if not a_in_group:
                    a.group = new_group
                    records_to_update.append(a)
                if not b_in_group:
                    b.group = new_group
                    records_to_update.append(b)
        groups_to_update.extend(new_groups)
        for group in new_groups:
            for record in same_date_group:
                if record.group == group and record.birth_date is not None:
                    group.birth_date = record.birth_date
        bulk_update(new_groups, update_fields=['birth_date'])
    print("Have {0} records to save".format(len(records_to_update)))
    bulk_update(records_to_update, update_fields=['group'])
    print("Have {0} groups to update inconsistency".format(
        len(groups_to_update)))
    mark_inconsistency(groups_to_update)
    print("Creation of new groups: done")
コード例 #7
0
	def initialize_data(self, data):
		group = Group(week=data['week'], group=data['group'])
		group.save()
		for player in data['players']:
			group.players.add(Player.objects.get(id=player['id']))
コード例 #8
0
 def initialize_data(self, data):
     group = Group(week=data['week'], group=data['group'])
     group.save()
     for player in data['players']:
         group.players.add(Player.objects.get(id=player['id']))
コード例 #9
0
    "11-807", "11-811", "11-809", "11-801", "11-807", "11-809", "11-810",
    "11-807", "11-805", "11-806", "11-806", "11-804", "11-804", "11-802",
    "11-807", "11-801", "11-805", "11-807", "11-801", "11-810", "11-801",
    "11-803", "11-804", "11-804", "11-807", "11-807", "11-804", "11-801",
    "11-801", "11-803"
]
ress = [
    "не использую", "stepik", "youtube", "матпрофи", "гуглю", "javarush",
    "acmp"
]
maxSem = 6

print("started generating groups (группы)")
for gr in groups:
    g = Group(name=gr)
    g.save()
print("groups generated")
print("started generating subjects")
for sb in subjects:
    s = Subject(name=sb)
    s.save()
print("subjects generated")
print("started generating res")
for re in ress:
    r = AdditionalEduResource(name=re, url="somesite.com")
    r.save()
i = 0
print("res generated")
print("started generating users")
while i < len(surnames):
    user = User.objects.create_user(username=surnames[i] + str(i),
コード例 #10
0
 def create_group(self, week, group):
     group = Group(week=week, group=group)
     group.save()
     for player_id in [1, 2, 3, 4]:
         group.players.add(Player.objects.get(id=player_id))
     return group
コード例 #11
0
ファイル: common.py プロジェクト: Davidyuk/witcoin
def create_group(name='group_name_test'):
    group = Group(**locals())
    group.save()
    return group