Example #1
0
 def save(self, *args):
     instance = None
     if self.params.key:
         instance = Dolg.get(self.params.key)
     form=DolgForm(data=self.request.POST)
     if form.is_valid():
         od = None
         na = None
         if  form.cleaned_data['Type']=='1':
             na = Person.get(form.cleaned_data['Party'])
             od = self.User
         else:
              od = Person.get(form.cleaned_data['Party'])
              na = self.User
         if instance:
             instance.Note = form.cleaned_data["Note"]
             instance.Kolicina = float(form.cleaned_data["Ammount"])
             instance.Od = od
             instance.Na = na
             instance.DodadenOd = self.User
             instance.put()
         else:
             instance = Dolg.CreateNew(od=od, na=na,
                                       kolicina= form.cleaned_data["Ammount"],
                                       note=form.cleaned_data["Note"],
                                       dodaden_od=self.User, _isAutoInsert=True)
         self.status = 'Dolg is saved'
         try:
             self.send_email(instance, self.get_edit_body(instance, nov=not self.params.key))
             self.status+=' and message is sent'
         except Exception, ex:
             import logging
             logging.error(ex.message)
             self.status+=' but message is not sent. Probably the party does not have an email added in the profile'
         self.redirect(DolgController.get_url())
Example #2
0
 def get(self):
     if self.User:
         userKey = self.g('key')
         if self.g('op')=='src' and self.g('searchWord'):
             self.SetTemplate(handlerType, 'SearchUsers.html')
             pass
         elif userKey:
             user = Person.get(userKey)
             if user:
                 profile = user.owner_profiles.get()
                 if not profile:
                     profile = pm.Profile.CreateNew(owner=user, userName=user.Email, _isAutoInsert=True)
                 self.respond({'profile':profile, 'profileImages': self.getImageKeys(profile)})
                 #self.response.out.write(user.Name+'<br/>'+user.Surname)
             else:
                 self.status = 'Such User does not exists'
                 self.respond()
         else:
             profile = self.User.owner_profiles.get()
             if not profile:
                 profile = pm.Profile.CreateNew(owner=self.User, userName=self.User.Email, _isAutoInsert=True)
             self.respond({'profile':profile, 'profileImages': self.getImageKeys(profile)})
     else:   
         self.status = "Must be loged in order to view someones profile"
         self.redirect('/Login')
Example #3
0
 def index(self, *args):
     self.SetTemplate(templateName="Dolg_index.html")
     result ={}
     index = 0; count=20
     try:
         index = int(self.params.index)
         count = int(self.params.count)
     except:
         pass
     if self.params.key:
         p=Person.get(self.params.key)
         d1 = Dolg.gql("WHERE Od = :me and Na = :on AND Deleted=False", me=self.User, on = p).fetch(limit=100, offset=0)
         d2 = Dolg.gql("WHERE Od = :on and Na = :me AND Deleted=False", me=self.User, on = p).fetch(limit=100, offset=0)
         result['DolgList']= d1+d2
         result['Party']=p
     else:
         result['DolgList'] = Dolg.gql('WHERE Od = :k AND Deleted=False', k=self.User).fetch(limit=count, offset=index)+Dolg.gql('WHERE Na = :k AND Deleted=False', k=self.User).fetch(limit=count, offset=index)
     result['Totals'] = Totals(result['DolgList'], self.User)
     result['DolgForm']= DolgForm();result['op']= 'update';
     result['DolgList'] = sorted(result['DolgList'], key=lambda x:x.Datum, reverse=True)
     nextIndex = index+count;
     previousIndex = index<=0 and -1 or (index-count>0 and 0 or index-count)
     from Forms.BaseForms import InvitationForm
     result['InvitationFormK'] = InvitationForm()
     result.update(locals())
     return result
Example #4
0
	def post(self, *args):
		d = self.base_params()
		if self.request.get('UserKey'):
			if self.request.get('From') and self.request.get('From'):
				zd = Person.get(self.request.get('UserKey'))
				#search_result = am.Dolg.gql( 'WHERE (zel = :zd OR dal = :zd) AND owner:ow', zd=zd, ow=self.User ).fetch( limit=100 )
				transaction_results = am.Transaction.all().filter('OwnerAccouny=', self.User).filter('ReferentAccouny=', zd).fetch(limit=100)
				#search_result = db.GqlQuery("SELECT * FROM Dolg WHERE owner= :1 AND (zel= :2 OR dal= :2)", self.User, zd)
				d['transaction_results'] = transaction_results
				self.respond(d)
	def post(self):
		if self.User:
			d = self.base_params()
			if self.request.get('UserKey'):
				if self.request.get('From') and self.request.get('From'):
					zd = Person.get(self.request.get('UserKey'))
					#search_result = am.Dolg.gql( 'WHERE (zel = :zd OR dal = :zd) AND owner:ow', zd=zd, ow=self.User ).fetch( limit=100 )
					transaction_results = am.Transaction.all().filter('OwnerAccouny=', self.User).filter('ReferentAccouny=', zd).fetch(limit=100)
					#search_result = db.GqlQuery("SELECT * FROM Dolg WHERE owner= :1 AND (zel= :2 OR dal= :2)", self.User, zd)
					d['transaction_results'] = transaction_results
					self.respond(d)
		else:
			self.status = 'You must be loged in in order to use the Accounting Service'
			self.redirect(LoginHandler.get_url())
Example #6
0
	def base_params(self):
		financialCard = None
		refUser = None
		allUsers = Person.all().fetch(100)
		if self.g('UserKey'):
			refUser = Person.get(self.request.get('UserKey'))
			if refUser:
				financialCard = am.FinancialCard.GetByOwnerByUser(self.User, refUser)	
				#if there is no initial balance or recalculation is asked , run recalculate
				if financialCard and (financialCard.Balance == None or (self.g('op') and self.g('op') == 'recalc')):
					financialCard.Recalculate(True)
			else:
				self.status = 'There is not transaction card for this User'
		else:
			self.status = 'Invalid Data'
		return {"financialCard":financialCard, "refUser":refUser, "allUsers":allUsers}
Example #7
0
    def JanrainAuth(self, *args):
        token = self.params.token
        url = "https://rpxnow.com/api/v2/auth_info"
        args = {"format": "json", "apiKey": "4a593fc2715670ab6a03b40653054858ffdc34a2", "token": token}
        r = urlfetch.fetch(
            url=url,
            payload=urllib.urlencode(args),
            method=urlfetch.POST,
            headers={"Content-Type": "application/x-www-form-urlencoded"},
        )

        json = simplejson.loads(r.content)

        if json["stat"] == "ok":
            person = Person.gql(
                "WHERE UserName= :u AND AuthenticationType= :auth",
                u=json["profile"]["preferredUsername"],
                auth=json["profile"]["providerName"],
            ).get()
            if not person:
                name = json["profile"].has_key("givenName") and json["profile"]["givenName"] or ""
                surname = json["profile"].has_key("familyName") and json["profile"]["name"]["familyName"] or ""
                display = json["profile"].has_key("displayName") and json["profile"]["displayName"] or ""
                email = json["profile"].has_key("email") and json["profile"]["email"] or None
                photo = json["profile"].has_key("photo") and json["profile"]["photo"] or None
                if not name and not surname and display:
                    arr = display.split(" ")
                    name = arr[0]
                    surname = len(arr) > 1 and arr[1] or ""
                if len(args) == 1:
                    person = Person.get(args[0])
                    person.UserName = (json["profile"]["preferredUsername"],)
                    person.Name = (name,)
                    person.Surname = (surname,)
                    person.Email = (email,)
                    person.Password = ("openid",)
                    person.Public = (True,)
                    person.Notify = (True,)
                    person.AuthenticationType = (json["profile"]["providerName"],)
                    person.PhotoUrl = (photo,)
                    person.put()
                else:
                    person = Person.CreateNew2(
                        uname=json["profile"]["preferredUsername"],
                        name=name,
                        surname=surname,
                        email=email,
                        password="******",
                        public=True,
                        notify=True,
                        authType=json["profile"]["providerName"],
                        photoUrl=photo,
                        _autoSave=True,
                    )

            self.login_user2(person)
            self.status = "Welcome " + person.UserName
            if self.params.redirect_url:
                self.redirect(self.params.redirect_url)
            else:
                self.redirect("/")
        else:
            self.status = "Not Valid Login"
            self.respond()