Beispiel #1
0
 def ask_for_admin(self, user):
     from accounts.models import S_G_Card
     if not S_G_Card.objects(
             group=self, is_active=True, is_admin=True).scalar('user'):
         S_G_Card.objects(
             user=user, group=self,
             is_active=True).update(set__is_admin=True)
Beispiel #2
0
 def entergroup(self, user):
     from accounts.models import S_G_Card
     if S_G_Card.objects(
             group=self, is_active=True,
             is_admin=False).scalar('user') or S_G_Card.objects(
                 group=self, is_active=True, is_admin=True).scalar('user'):
         if S_G_Card.objects(user=user, group=self):
             S_G_Card.objects(
                 user=user, group=self).update(
                     set__is_active=True,
                     set__is_admin=False,
                     set__creat_time=datetime.datetime.now())
         else:
             S_G_Card(
                 user=user,
                 group=self,
                 is_active=True,
                 is_admin=False,
                 creat_time=datetime.datetime.now()).save()
     else:
         if S_G_Card.objects(user=user, group=self):
             S_G_Card.objects(
                 user=user, group=self).update(
                     set__is_active=True,
                     set__is_admin=True,
                     set__creat_time=datetime.datetime.now())
         else:
             S_G_Card(
                 user=user,
                 group=self,
                 is_active=True,
                 is_admin=True,
                 creat_time=datetime.datetime.now()).save()
Beispiel #3
0
Datei: views.py Projekt: pgwt/COC
def creat_group(request):
    if request.method == "POST":
        form = CreatGroupForm(request.POST)
        if form.is_valid():
            name = form.cleaned_data["name"]
            introduction = form.cleaned_data["introduction"]
            grouptype = form.cleaned_data["grouptype"]
            group = Group(name=name, introduction=introduction, grouptype=grouptype, logo=STATIC_URL + "img/face.png")
            url_number = len(Group.objects) + 1
            group.url_number = url_number
            group.birthday = datetime.datetime.now()
            if request.FILES:
                path = "img/group/" + str(url_number)
                if not os.path.exists(MEDIA_ROOT + path):
                    os.makedirs(MEDIA_ROOT + path)

                img = Image.open(request.FILES["logo"])
                if img.mode == "RGB":
                    filename = "logo.jpg"
                elif img.mode == "P":
                    filename = "logo.png"
                filepath = "%s/%s" % (path, filename)
                # 获得图像的宽度和高度
                width, height = img.size
                # 计算宽高
                ratio = 1.0 * height / width
                # 计算新的高度
                new_height = int(260 * ratio)
                new_size = (260, new_height)
                # 缩放图像
                out = img.resize(new_size, Image.ANTIALIAS)
                out.save(MEDIA_ROOT + filepath)
                group.logo = MEDIA_URL + filepath

            group.save()
            sgcard = S_G_Card(
                user=request.user, group=group, is_active=True, is_admin=True, creat_time=datetime.datetime.now()
            )
            sgcard.save()
            return HttpResponseRedirect("/group/" + str(url_number) + "/")

    else:
        form = CreatGroupForm()
        return render_to_response(
            "group/creat_group.html",
            {"form": form, "STATIC_URL": STATIC_URL, "current_user": request.user},
            context_instance=RequestContext(request),
        )
Beispiel #4
0
Datei: views.py Projekt: pgwt/COC
def group(request, gurl_number):
    group = Group.objects(url_number=gurl_number).get()
    if request.method == "POST":
        form = NewTopicForm(request.POST)
        if form.is_valid():
            title = form.cleaned_data["title"]
            content = form.cleaned_data["content"]
            topic = Topic(title=title)
            turl_number = len(Topic.objects) + 1
            topic.url_number = turl_number
            topic.content = content
            topic.creat_time = datetime.datetime.now()
            topic.is_active = True
            topic.is_locked = False
            topic.is_top = False
            topic.clicks = 0
            topic.update_time = datetime.datetime.now()
            topic.update_author = request.user
            sgcard = S_G_Card.objects(user=request.user, group=group).get()
            topic.creator = sgcard
            topic.save()
            return HttpResponseRedirect("/group/" + str(gurl_number) + "/topic/" + str(turl_number) + "/")

    else:
        form = NewTopicForm()
        return render_to_response(
            "group/group.html",
            {"form": form, "group": group, "STATIC_URL": STATIC_URL, "current_user": request.user},
            context_instance=RequestContext(request),
        )
Beispiel #5
0
 def kick_out(self, user_url_number):
     from accounts.models import Student
     from accounts.models import S_G_Card
     user = Student.objects(url_number=user_url_number).get()
     S_G_Card.objects(group=self, user=user).update(set__is_active=False)
Beispiel #6
0
 def promote(self, user_url_number):
     from accounts.models import Student
     from accounts.models import S_G_Card
     user = Student.objects(url_number=user_url_number).get()
     S_G_Card.objects(group=self, user=user).update(set__is_admin=True)
Beispiel #7
0
 def get_user_list(self):
     from accounts.models import S_G_Card
     return S_G_Card.objects(group=self, is_active=True).scalar('user')
Beispiel #8
0
 def get_inactive_topic_list(self):
     from accounts.models import S_G_Card
     creator = S_G_Card.objects(group=self).all()
     from forum.models import Topic
     return Topic.objects(creator__in=creator, is_active=False)
Beispiel #9
0
 def quitgroup(self, user):
     from accounts.models import S_G_Card
     S_G_Card.objects(
         user=user, group=self, is_active=True).update(set__is_active=False)