Ejemplo n.º 1
0
def create_activity(request):
    result = Result()
    name = request.POST['name']
    type_id = request.POST['type_id']
    address = request.POST['address']
    start_time = datetime.datetime.strptime(request.POST['start_time'],
                                            Consts.DATETIME_FORMAT)
    end_time = datetime.datetime.strptime(request.POST['end_time'],
                                          Consts.DATETIME_FORMAT)
    if start_time >= end_time:
        result.code = Consts.FAILED_CODE
        result.msg = Consts.START_END_TIME_ERROR_MSG
        return HttpResponse(json.dumps(result.to_dict()),
                            content_type="application/json")
    if not check_activity_type_exist(type_id):
        result.code = Consts.FAILED_CODE
        result.msg = Consts.NOT_FOUND_ACTIVITY_TYPE_MSG
        return HttpResponse(json.dumps(result.to_dict()),
                            content_type="application/json")
    try:
        admin.create_activity(name, type_id, start_time, end_time, address,
                              request.user.username)
        result.code = Consts.SUCCESS_CODE
    except:
        result.code = Consts.FAILED_CODE
        result.msg = Consts.UNKNOWN_ERROR
    return HttpResponse(json.dumps(result.to_dict()),
                        content_type="application/json")
Ejemplo n.º 2
0
 def test_register_individual_activity(self):
     self.assertEqual(len(ActivityRegister.objects.all()), 0)
     at = ActivityType.objects.get(name="global activity")
     s_t = datetime.strptime("2018/01/12 08:00", DATETIME_FORMAT)
     e_t = datetime.strptime("2018/01/12 09:00", DATETIME_FORMAT)
     create_activity("activity1", at.id, s_t, e_t, "dongfang Rd.", "admin")
     activity = Activity.objects.get(name="activity1")
     register_activity(activity.id, "123456", "admin")
     self.assertEqual(len(ActivityRegister.objects.all()), 1)
Ejemplo n.º 3
0
 def test_create_activity(self):
     at = ActivityType.objects.get(name="activity type 1")
     s_t = datetime.strptime("2018/01/12 08:00", DATETIME_FORMAT)
     e_t = datetime.strptime("2018/01/12 09:00", DATETIME_FORMAT)
     create_activity("activity1", at.id, s_t, e_t, "dongfang Rd.", "admin")
     self.assertEqual(len(Activity.objects.all()), 1)
     activity = Activity.objects.get(name="activity1")
     self.assertEqual(activity.start_time, s_t)
     self.assertEqual(activity.end_time, e_t)
     self.assertEqual(activity.address, "dongfang Rd.")
     self.assertEqual(activity.creator.username, "admin")
     self.assertEqual(activity.get_status(), Activity.END)
Ejemplo n.º 4
0
 def test_update_activity(self):
     at = ActivityType.objects.get(name="activity type 1")
     s_t = datetime.strptime("2018/01/12 08:00", DATETIME_FORMAT)
     e_t = datetime.strptime("2018/01/12 09:00", DATETIME_FORMAT)
     create_activity("activity1", at.id, s_t, e_t, "dongfang Rd.", "admin")
     self.assertEqual(len(Activity.objects.all()), 1)
     activity = Activity.objects.get(name="activity1")
     ac_id = activity.id
     s_t = datetime.now() + timedelta(hours=1)
     e_t = datetime.now() + timedelta(hours=2)
     at = ActivityType.objects.get(name="activity type 2")
     update_activity(ac_id, "updated activity", at.id, s_t, e_t,
                     "dongfang Rd. 1217")
     activity = Activity.objects.get(id=ac_id)
     self.assertEqual(activity.name, "updated activity")
     self.assertEqual(activity.type.name, "activity type 2")
     self.assertEqual(activity.start_time, s_t)
     self.assertEqual(activity.end_time, e_t)
     self.assertEqual(activity.address, "dongfang Rd. 1217")
     self.assertEqual(activity.get_status(), Activity.NOT_START)
Ejemplo n.º 5
0
 def test_get_privileged_activities(self):
     at = ActivityType.objects.get(name="global activity")
     s_t = datetime.strptime("2018/01/12 08:00", DATETIME_FORMAT)
     e_t = datetime.strptime("2018/01/12 09:00", DATETIME_FORMAT)
     create_activity("activity1", at.id, s_t, e_t, "dongfang Rd.", "admin")
     create_activity_type("superuser's private activity type", 100, True,
                          "admin", None)
     at = ActivityType.objects.get(name="superuser's private activity type")
     create_activity("private activity", at.id, s_t, e_t, "dongfang Rd.",
                     "admin")
     group = Group.objects.get(name="group2")
     create_activity_type("group2's activity type", 100, False, "admin",
                          group.id)
     at = ActivityType.objects.get(name="group2's activity type")
     create_activity("group2's activity", at.id, s_t, e_t, "dongfang Rd.",
                     "admin")
     create_user(username="******",
                 name="admin3",
                 password="******",
                 email="*****@*****.**",
                 phone="456")
     user1 = User.objects.get(username='******')
     user2 = User.objects.get(username='******')
     user3 = User.objects.get(username='******')
     self.assertEqual(len(get_privileged_activities(user1)), 3)
     self.assertEqual(len(get_privileged_activities(user2)), 2)
     self.assertEqual(len(get_privileged_activities(user3)), 1)
Ejemplo n.º 6
0
    def test_update_activity_register(self):
        at = ActivityType.objects.get(name="global activity")
        s_t = datetime.strptime("2018/01/12 08:00", DATETIME_FORMAT)
        e_t = datetime.strptime("2018/01/12 09:00", DATETIME_FORMAT)
        create_activity("activity1", at.id, s_t, e_t, "dongfang Rd.", "admin")
        activity = Activity.objects.get(name="activity1")
        register_activity(activity.id, "123456", "admin")

        ra = ActivityRegister.objects.get(activity__id=activity.id,
                                          volunteer__openid="123456")
        self.assertEqual(get_volunteer_score("123456"), 0)
        self.assertEqual(ra.status, ActivityRegister.REGISTERED)
        update_activity_register_status(ra.id, ActivityRegister.SIGNED_UP)
        ra = ActivityRegister.objects.get(activity__id=activity.id,
                                          volunteer__openid="123456")
        self.assertEqual(ra.status, ActivityRegister.SIGNED_UP)
        self.assertEqual(get_volunteer_score("123456"), 100)

        update_activity_register_status(ra.id, ActivityRegister.ABSENT)
        ra = ActivityRegister.objects.get(activity__id=activity.id,
                                          volunteer__openid="123456")
        self.assertEqual(ra.status, ActivityRegister.ABSENT)
        self.assertEqual(get_volunteer_score("123456"), 0)