Jump to content

NiceDuck

Caspio Ninja
  • Content Count

    29
  • Joined

  • Last visited

  • Days Won

    2

NiceDuck last won the day on September 28

NiceDuck had the most liked content!

About NiceDuck

  • Rank
    Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Im not sure if I understand your workflow perfectly but as I understand, You do have a date field. this datefield is sometimes pre-populated and sometimes not. If this is pre- populated, the user shall not be able to edit those. However, if it is not pre-populated, then the user should be able to set a value. If this is the case, I think it can be done by using the rules feature and a virtual field. You are going to make the virtual field and the date field load the pre-defined value you wanted. Then, envelope the virtual field with HTML block containing html script for hiding: see instructions here: https://howto.caspio.com/tech-tips-and-articles/common-customizations/how-to-hide-fields-in-datapages/ Then, make a rule that if the virtual field is not blank, it will hide the date field. with this, the date field will only appear if it has no pre-defined value. I hope this helps.
  2. If you are not fond of multiple records display on your screen, I can also suggest that you create a dummy table and task triggers to calculate those values for you. Therefore, you will have a table which has the summary report of your transactions table.
  3. I quite...dont understand your problem. As I checked, you can actually make a virtual field catch an external parameter. However, virtual fields which are set to calculated value's cannot load values from parameter because they are meant to have their own value depending on the formula/calculation declared on them. If you need an external parameter on your calculated value, use a seperate virtual field to catch the parameter for you then call that virtual field on your calculated value
  4. @Shasha Further elaboration would really help...
  5. Hello, This is a possible worflow for that objective. first, both payers and non payers should be authenticated before search so we can track if the current user is a payer or not. I suggest that on the table which hold the user info, set a checkbox field there to differentiate them. second, we will have to separate the search form to the results page of your data-page, you may refer to this article on how to. : https://howto.caspio.com/tech-tips-and-articles/tech-parameters/how-to-separate-search-page-and-results-page-into-two-different-webpages/ However, we will not fully copy that step, we will modify it for a bit. I suggest that you do the the following instead. 1) duplicate your table which you use as a data source for this report datapage. name the duplicate whatever you like. 2) add some extra fields to your fields on the duplicate. a timestamp field upon insert and a field which is compatible to hold the id of the current user. (probably a text 255) 3) create a submission form using the duplicate table, Make sure to include the field for holding the Id. set this field to hidden with the id of the current user as a default value. 4) create a virtual field on the submission form to. set it to calculated value after that, we will use an SQL code to check how many records are submited by the current user by the current date. select count ([@field:IDfield]) from duplicate_table_ where DateDiff(day, SysUTCDateTime(), [@field:date]) =0; * note that [@field:IDfield] and [@field:date] shall be replace with the ID field and timestamp you just added on the duplicate table 5) create another virtual field and set it again to calculated value. this time, we are going to create a condition statement if the user shall be allowed to search or not. Case when [@field:payer] = 1 then *URL of your report datapage plust the other fields as a parameter* when targer.[@virtual1] < 3 then *URL of your report datapage plust the other fields as a parameter* Else www.somewhereelse.com end. 6) Set your submission form to redirect to another website upon submit. use the URL your virtual field 2 as the source for its URL 7) last, you just have to set your report datapage to be filterd by external parameters. The codes may not work but I hope you get the idea.
  6. We cannot have a triggered action into a view. It is only available on tables. I suggest that you just make a triggered action on the table which are involve on your views. You can only edit one table in a view anyway. If you need the other tables record on your triggered action, you may call upon them by using the *select from block or by using the join feature. If you will provide more information on what you are trying to achieve, perhaps we can suggest a work around. Hope it helps. quack
  7. @VivianaKirkland I havent tried that kind of workflow yet but I think you can do something about that by using views. Lots of it. probably one per user level. Imma try something on my end and reply in here again this sunday... or never But I really think we can do something about this with views
  8. Hello again @Shiro That will surely wont work... The last time I check, trigger doesn't activates when you use import for updating or inserting data. I can suggest this workaround though. instead of directly updating your table from import, import your records to a dummy copy of your main table first then use Task to update the main table from records imported to dummy table. by then you can now use a condition statement to not include those records with blank values Hope it helps quack
  9. If you are planning to count them by how many times they clicked the download link on the duplicate report page, then no. I dont think we can do something about that without JS magic. If you are planning to count them depending on the how many times they sent an email, then simply use an autonumber id field on your data source for the submission. It should automatically count them for you. If you want to be more neat, use triggered action and use a seperate datasource so you can also count how many times a certain email is submitted. Though I guess it can also be done via SQL on calculated fields/value/. QUACK
  10. Hello @Shiro You have a fair point regarding about that. I have a resolution for that but it is going to be troublesome. My idea is use passing parameters via query string. You will have to separate your search form and reports page by making a dummy submission form and and setting your reports page's search setting to filter via external parameter. follow the instructions here: https://howto.caspio.com/tech-tips-and-articles/tech-parameters/results-and-details-on-two-separate-web-pages/ on the first download link (the one who will redirect you to submission form ) include the parameters from your search in there even though it is not needed on the submission form. However, you may want to record those also, so you can have a record of what the certain submitter searched and downloaded. Then, on your final redirection, include those parameter again on your URL. Its like passing the parameter, multiple of times until you it reach the final reports datapage. I hope you get the idea I think their is a JS for capturing the URL of the first report page. if you can find something like that, you can lessen the trouble of this workflow by simply capturing the whole URL and using it as the parameter. Quack
  11. Hello Shiro, I have have an idea for a possible workaround for that. But this work around is kinda pricey since it will require you some additional datapages. My idea is, multiple redirection. on your first/ main report datapage, disable the download function for your file. Then create an HTML block that that has a link which upon click, will redirect the user to a submission form where the user has to enter his email first. Then upon submission, the user will be redirected to another report datapage (possibly a copy of his main/first report datapage) which has the real download options enabled.
  12. @kpcollier kind of, that way, we can track when when did you send the link to them. All we need is the date when you send the link. The name is not that relevant actually, its just so you can determine on whom you sent the link. quack
  13. Hello, I would like to share some workflow again for those who dont have a triggered action feature. With this workflow, you will be able to make the auto email function of your details page activates only depending on the number of times it was updated. Again, this feature could easily be done by using triggered actions however. It is not available for some of us. well, without further adew, here it is... first, you will have to make an integer field on your desired table. lets name it "update counter". make sure that this field has a default value of 0. For how will you do that, it is up to you or reply here if you dont know how. second, go to your details page where you want to implement this feature. you will have to create two virtual fields . on the first calculated value (virtual1), you will have to make it load the value of the "update counter field". If you would like, you can also set it to hidden if you want. Then, set the "update counter field" as a calculated value. This will be our incrementor (you'll get the idea). It can be done by adding 1 to the value virtual field you created from the previous step. use the SQL code beloew: ******************************** [@cbParamVirtual1] + 1 ****************************************** Then we will use the other virtual field (virtual2) as a calculated value and use it as a condition statement where if the equation above is = 0, it will return the desired email. Otherwise, it will return nothing: you may use this SQL code. ******************************** case when [@field:update_counter] % 3 = 0 then [@field:email] else '' end *replace the [@field:email] with your email field or your desired email. ************************************ Finally, go to the Search and Report Wizard - Email Options use the "virtual2" at the "to" field of your email. with this. with this workflow, the email on the "To" field of your "acknowledgement" or "notification" email will be null unless the counter has the proper value. Thus it will not send an email I hope it helps anyone. Quack
  14. Hi @kpcollier, Im not sure if my understanding on your inquiry is correct but as I understand, you have a submission Form where you want it to be inaccessible after some amount of time. for example, you have sent client a the link at october 1, this link should no longer be accessible by november 1. However, to those who got the link by october 30 should still be able to access the link by november 30. Is this the workflow you want? I think this could be done via JavaScript but I am not even adept to that, so what I will do is to use another datapage again. (sorry please dont cook me) However, since I do not know your full workflow is, there may come some complication. My idea is to create a auto submit single update page which will redirect you to the proper site if the condition is is right. else, It'll just send you somewhere else. you may refer for this post about the different redirection: However, instead of using the field for email, use the field for the URL where the you want to be redirected. This will be the structure. 1st, create a table containing the following fields: Random ID Name Date sent Date receive Those person whom youll be sending the link should have a record already on this table for the field "Random ID" ,"Name", and "Date Sent". 2nd, create a single update form that is determined by their ID which loaded through external parameters. The link you'll be sending to your customer should be the link for them to access this single update form. In this SUF (single update form, I'll use acronym it because its long) make a virtual field and set it as a calculated field. In here, you will have to make Condition statement in it with some date diff functions. Kinda like this CASE WHEN DateDiff(day, [@filed:Datesent], SysDateTime()) > 30 THEN "www.yourdestinationURL.com" ELSE "www.somewhereelse.com" END Then, you have to create a HTML block containing this JS code: <script type="text/javascript"> if(document.getElementById("caspioform")) { document.getElementById("caspioform").style.display = 'none'; setTimeout('document.forms["caspioform"].submit()',10); } </script> -------------- this code will make your SUF auto submit finally, on the end of your the wizard, set it to redirect to a new page and use the field picker to insert the "[@field:virtual1]" then click finish. the URL you have to send to your clients now are URL for this SUF along with their random id as the parameter. However, this again will consume a datapage. Please dont cook me Im a niceduck not a tasty duck I wish you atleast have the idea. Im not confident with my english since im kinda starving right now, might be affecting my thinking... anyway, I hope this helps you. quack P.S. You may also explain your desire a bit more further and let see what else we can do. I dont know Javascript though.
  15. @kpcollier I think of something, However, you would need another single update form. When you press the back button or link, you will be redirected to a single update form which contains the values on your first submission form. Hmmm You may refer to this picture for elaboration. I hope this helps you. QUACK
×
×
  • Create New...