Exemplo n.º 1
0
        public void AuthenticateMobileWithSessionTokenTest()
        {
            var username       = RandomString();
            var password       = RandomString();
            var user           = CreateUser(username, password);
            var requestManager = FakeRequestManager.Create();
            var sessionToken   = new ApiSession
            {
                CreatedDate      = DateTime.Now,
                LastAccessedDate = DateTime.Now,
                SessionToken     = Guid.NewGuid(),
                UserId           = user.UserId,
            };

            db.ApiSessions.InsertOnSubmit(sessionToken);
            db.SubmitChanges();

            requestManager.CurrentHttpContext.Request.Headers["SessionToken"] = sessionToken.SessionToken.ToString();
            var membershipProvider = new MockCMSMembershipProvider {
                ValidUser = true
            };
            var roleProvider = new MockCMSRoleProvider();

            CMSMembershipProvider.SetCurrentProvider(membershipProvider);
            CMSRoleProvider.SetCurrentProvider(roleProvider);

            var result = AccountModel.AuthenticateMobile(requestManager.CurrentDatabase, requestManager.CurrentImageDatabase);

            result.ErrorMessage.ShouldBeNullOrEmpty();
            result.IsValid.ShouldBeTrue();
            result.Status.ShouldBe(UserValidationStatus.Success);
        }
        private static bool Auth()
        {
            CMSDataContext      db  = CMSDataContext.Create(HttpContextFactory.Current);
            CMSImageDataContext idb = CMSImageDataContext.Create(HttpContextFactory.Current);

            return(AccountModel.AuthenticateMobile(db, idb, "Checkin").IsValid);
        }
Exemplo n.º 3
0
        private static bool Authenticate(string role = "Checkin")
        {
            var db  = CMSDataContext.Create(HttpContextFactory.Current);
            var idb = CMSImageDataContext.Create(HttpContextFactory.Current);

            return(AccountModel.AuthenticateMobile(db, idb, "Checkin").IsValid);
        }
Exemplo n.º 4
0
        private static bool Authenticate(string role = null, bool checkOrgLeadersOnly = false)
        {
            var db  = CMSDataContext.Create(HttpContextFactory.Current);
            var idb = CMSImageDataContext.Create(HttpContextFactory.Current);

            return(AccountModel.AuthenticateMobile(db, idb, role, checkOrgLeadersOnly).IsValid);
        }
Exemplo n.º 5
0
        public ActionResult AddPerson(int id, PersonInfo m)
        {
            if (!AccountModel.AuthenticateMobile())
            {
                return(Content("not authorized"));
            }

            var f = m.addtofamilyid > 0
                ? DbUtil.Db.Families.First(fam => fam.People.Any(pp => pp.PeopleId == m.addtofamilyid))
                : new CmsData.Family();

            if (m.goesby == "(Null)")
            {
                m.goesby = null;
            }

            var position = DbUtil.Db.ComputePositionInFamily(m.dob.Age0(), m.marital == 20, f.FamilyId) ?? 10;

            var p = Person.Add(f, position,
                               null, Trim(m.first), Trim(m.goesby), Trim(m.last), m.dob, false, m.gender,
                               OriginCode.Visit, null);

            DbUtil.LogActivity("iPhone AddPerson {0}".Fmt(p.PeopleId));
            UpdatePerson(p, m);
            var meeting = DbUtil.Db.Meetings.Single(mm => mm.MeetingId == id);

            Attend.RecordAttendance(p.PeopleId, id, true);
            DbUtil.Db.UpdateMeetingCounters(id);
            return(new RollListResult(meeting, p.PeopleId));
        }
Exemplo n.º 6
0
        public ContentResult UploadImage(int id)
        {
            if (!AccountModel.AuthenticateMobile().IsValid)
            {
                return(Content("not authorized"));
            }
            //		    if (!User.IsInRole("Edit") && !User.IsInRole("Checkin"))
            //				return Content("not authorized");

            DbUtil.LogActivity("checkin uploadpic " + id);
            var person = DbUtil.Db.People.Single(pp => pp.PeopleId == id);

            if (person.Picture == null)
            {
                person.Picture = new Picture();
            }
            var bits = new byte[Request.InputStream.Length];

            Request.InputStream.Read(bits, 0, bits.Length);

            var p = person.Picture;

            p.CreatedDate = Util.Now;
            p.CreatedBy   = Util.UserName;
            p.ThumbId     = Image.NewImageFromBits(bits, 50, 50).Id;
            p.SmallId     = Image.NewImageFromBits(bits, 120, 120).Id;
            p.MediumId    = Image.NewImageFromBits(bits, 320, 400).Id;
            p.LargeId     = Image.NewImageFromBits(bits).Id;
            person.LogPictureUpload(DbUtil.Db, Util.UserPeopleId ?? 1);
            DbUtil.Db.SubmitChanges();
            return(Content("done"));
        }
Exemplo n.º 7
0
 public ActionResult RollList2(int id, DateTime datetime)
 // id = OrganizationId
 {
     if (!AccountModel.AuthenticateMobile())
     {
         return(Content("not authorized"));
     }
     return(new RollListResult(id, datetime));
 }
Exemplo n.º 8
0
 public ActionResult DetailResults(int id)
 {
     if (!AccountModel.AuthenticateMobile())
     {
         return(Content("not authorized"));
     }
     Response.NoCache();
     return(new DetailResult(id));
 }
Exemplo n.º 9
0
 public ActionResult RecordAttend(int id, int PeopleId, bool Present)
 {
     if (!AccountModel.AuthenticateMobile())
     {
         return(Content("not authorized"));
     }
     Attend.RecordAttendance(PeopleId, id, Present);
     DbUtil.Db.UpdateMeetingCounters(id);
     return(new EmptyResult());
 }
Exemplo n.º 10
0
 public ActionResult DetailResults(int id)
 {
     if (!AccountModel.AuthenticateMobile())
     {
         return(Content("not authorized"));
     }
     Response.NoCache();
     DbUtil.LogActivity("iphone view ({0})".Fmt(id));
     return(new DetailResult(id));
 }
Exemplo n.º 11
0
 public ActionResult RecordAttend(int id, int PeopleId, bool Present)
 {
     if (!AccountModel.AuthenticateMobile())
     {
         return(Content("not authorized"));
     }
     DbUtil.LogActivity("iphone attend(org:{0} person:{1} {2})".Fmt(id, PeopleId, Present));
     Attend.RecordAttendance(PeopleId, id, Present);
     DbUtil.Db.UpdateMeetingCounters(id);
     return(new EmptyResult());
 }
Exemplo n.º 12
0
        public ActionResult RollList(int id, DateTime datetime)
        {
            if (!AccountModel.AuthenticateMobile())
            {
                return(Content("not authorized"));
            }
            var u       = DbUtil.Db.Users.Single(uu => uu.Username == AccountModel.UserName2);
            var meeting = Meeting.FetchOrCreateMeeting(DbUtil.Db, id, datetime);

            return(new RollListResult(meeting));
        }
Exemplo n.º 13
0
        public ActionResult Search(string name, string comm, string addr)
        {
            if (!AccountModel.AuthenticateMobile(checkorgmembersonly: true))
            {
                return(Content("not authorized"));
            }
            Response.NoCache();

            var m = new SearchModel(name, comm, addr);

            return(new SearchResult0(m.PeopleList(), m.Count));
        }
Exemplo n.º 14
0
        public ActionResult RecordVisit2(int id, DateTime datetime, int PeopleId)
        // id = OrganizationId
        {
            if (!AccountModel.AuthenticateMobile())
            {
                return(Content("not authorized"));
            }
            var u = DbUtil.Db.Users.Single(uu => uu.Username == AccountModel.UserName2);

            RecordAttend2Extracted(id, PeopleId, true, datetime, u);
            return(new RollListResult(id, datetime));
        }
Exemplo n.º 15
0
        public ActionResult RecordVisit(int id, int PeopleId)
        {
            if (!AccountModel.AuthenticateMobile())
            {
                return(Content("not authorized"));
            }
            Attend.RecordAttendance(PeopleId, id, true);
            DbUtil.Db.UpdateMeetingCounters(id);
            var meeting = DbUtil.Db.Meetings.Single(mm => mm.MeetingId == id);

            return(new RollListResult(meeting));
        }
Exemplo n.º 16
0
 public ActionResult Organizations()
 {
     if (!AccountModel.AuthenticateMobile())
     {
         return(Content("not authorized"));
     }
     Response.NoCache();
     if (!CMSRoleProvider.provider.IsUserInRole(AccountModel.UserName2, "Attendance"))
     {
         return(new OrgResult(null));
     }
     return(new OrgResult(Util.UserPeopleId));
 }
Exemplo n.º 17
0
        public ActionResult FetchImage(int id)
        {
            if (!AccountModel.AuthenticateMobile("Access"))
            {
                return(Content("not authorized"));
            }
            Response.NoCache();
            var person = DbUtil.Db.People.Single(pp => pp.PeopleId == id);

            if (person.PictureId != null)
            {
                return(new CmsWeb.Models.ImageResult(person.Picture.MediumId ?? 0));
            }
            return(new CmsWeb.Models.ImageResult(0));
        }
Exemplo n.º 18
0
        public ActionResult SearchResults(string name, string comm, string addr)
        {
            if (!AccountModel.AuthenticateMobile(checkorgmembersonly: true))
            {
                return(Content("not authorized"));
            }
            if (!CMSRoleProvider.provider.IsUserInRole(AccountModel.UserName2, "Access"))
            {
                return(Content("not authorized"));
            }
            Response.NoCache();

            DbUtil.LogActivity("iphone search '{0}'".Fmt(name));
            var m = new SearchModel(name, comm, addr);

            return(new SearchResult(m.PeopleList(), m.Count));
        }
Exemplo n.º 19
0
        public ActionResult JoinUnJoinOrg(int PeopleId, int OrgId, bool Member)
        {
            if (!AccountModel.AuthenticateMobile())
            {
                return(Content("not authorized"));
            }
            var om = DbUtil.Db.OrganizationMembers.SingleOrDefault(m => m.PeopleId == PeopleId && m.OrganizationId == OrgId);

            if (om == null && Member)
            {
                om = OrganizationMember.InsertOrgMembers(DbUtil.Db,
                                                         OrgId, PeopleId, MemberTypeCode.Member, DateTime.Now, null, false);
            }
            else if (om != null && !Member)
            {
                om.Drop(DbUtil.Db, addToHistory: true);
            }
            DbUtil.Db.SubmitChanges();
            return(Content("OK"));
        }
Exemplo n.º 20
0
        public void AuthenticateMobileWithUsernameAndPasswordTest()
        {
            var username       = RandomString();
            var password       = RandomString();
            var user           = CreateUser(username, password);
            var requestManager = FakeRequestManager.Create();
            var db             = requestManager.CurrentDatabase;
            var idb            = requestManager.CurrentImageDatabase;

            requestManager.CurrentHttpContext.Request.Headers["Authorization"] = BasicAuthenticationString(username, password);
            var membershipProvider = new MockCMSMembershipProvider {
                ValidUser = true
            };
            var roleProvider = new MockCMSRoleProvider();

            CMSMembershipProvider.SetCurrentProvider(membershipProvider);
            CMSRoleProvider.SetCurrentProvider(roleProvider);

            var result = AccountModel.AuthenticateMobile(db, idb);

            result.ErrorMessage.ShouldBeNullOrEmpty();
            result.IsValid.ShouldBeTrue();
            result.Status.ShouldBe(UserValidationStatus.Success);
        }
Exemplo n.º 21
0
 private static bool Authenticate(string role = "Checkin")
 {
     return(AccountModel.AuthenticateMobile("Checkin").IsValid);
 }
Exemplo n.º 22
0
 private static bool Authenticate(string role = null, bool checkOrgLeadersOnly = false)
 {
     return(AccountModel.AuthenticateMobile(role, checkOrgLeadersOnly).IsValid);
 }
Exemplo n.º 23
0
 private bool Authenticate()
 {
     return(AccountModel.AuthenticateMobile("Checkin"));
 }
Exemplo n.º 24
0
 private static bool Auth()
 {
     return AccountModel.AuthenticateMobile( "Checkin" ).IsValid;
 }
Exemplo n.º 25
0
        public ActionResult AddPerson(int id, PersonInfo m)
        {
            if (!AccountModel.AuthenticateMobile())
            {
                return(Content("not authorized"));
            }

            CmsData.Family f;
            if (m.addtofamilyid > 0)
            {
                f = DbUtil.Db.Families.First(fam => fam.People.Any(pp => pp.PeopleId == m.addtofamilyid));
            }
            else
            {
                f = new CmsData.Family();
            }

            if (m.goesby == "(Null)")
            {
                m.goesby = null;
            }
            var position = PositionInFamily.Child;

            if (m.dob.Age0() >= 18)
            {
                if (f.People.Count(per =>
                                   per.PositionInFamilyId == PositionInFamily.PrimaryAdult)
                    < 2)
                {
                    position = PositionInFamily.PrimaryAdult;
                }
                else
                {
                    position = PositionInFamily.SecondaryAdult;
                }
            }

            var p = Person.Add(f, position,
                               null, Trim(m.first), Trim(m.goesby), Trim(m.last), m.dob, false, m.gender,
                               OriginCode.Visit, null);

            var z = DbUtil.Db.ZipCodes.SingleOrDefault(zc => zc.Zip == m.zip.Zip5());

            if (!m.home.HasValue() && m.cell.HasValue())
            {
                m.home = m.cell;
            }

            if (m.addtofamilyid == 0)
            {
                p.Family.HomePhone      = m.home.GetDigits();
                p.Family.AddressLineOne = m.addr;
                p.Family.CityName       = z != null ? z.City : null;
                p.Family.StateCode      = z != null ? z.State : null;
                p.Family.ZipCode        = m.zip;
            }
            p.EmailAddress = Trim(m.email);
            if (m.cell.HasValue())
            {
                p.CellPhone = m.cell.GetDigits();
            }
            p.MaritalStatusId = m.marital;
            p.GenderId        = m.gender;
            DbUtil.Db.SubmitChanges();
            var meeting = DbUtil.Db.Meetings.Single(mm => mm.MeetingId == id);

            Attend.RecordAttendance(p.PeopleId, id, true);
            DbUtil.Db.UpdateMeetingCounters(id);
            return(new RollListResult(meeting, p.PeopleId));
        }