Skip to main content
Use correct module name
Source Link
Pierre.Vriens
  • 36k
  • 40
  • 50
  • 182

While given answer works great, there are usually a variety of different methods to achieve your goals, one solution could be usage of a combination of Views and Views Bulk OperationOperations (VBO) modules to achieve that

  • Create a view containing nodes of your desired type
  • Add a contextual filter and limits results to nodes written by logged in user
  • add a VBO view mode
  • in rules you can load a VBO items (check how)
  • Now if array is empty, created node is the first node of that type which the user has submitted

You also might do all the job with Rules, if you don't want this feature for many content types you can add a Boolean field to the user's account with default value of 'False' indicating if user has written his/her first content of desired type, then on node submit event you can check this field to recognize if this post is his/her first post of that type or not. Remember to set this field to True after submission of first content of desired type.

The above approach saves some processing cause needs no query as it calculated once and used many times

You also can write a custom rules event (API), containing a query on nodes table with condition node.uid == user->uid and node.type == "TYPE_MACHINE_NAME", then if query is not empty, that means user has already submitted a content of that type. so return False.

While given answer works great, there are usually a variety of different methods to achieve your goals, one solution could be usage of a combination of Views and Views Bulk Operation modules to achieve that

  • Create a view containing nodes of your desired type
  • Add a contextual filter and limits results to nodes written by logged in user
  • add a VBO view mode
  • in rules you can load a VBO items (check how)
  • Now if array is empty, created node is the first node of that type which the user has submitted

You also might do all the job with Rules, if you don't want this feature for many content types you can add a Boolean field to the user's account with default value of 'False' indicating if user has written his/her first content of desired type, then on node submit event you can check this field to recognize if this post is his/her first post of that type or not. Remember to set this field to True after submission of first content of desired type.

The above approach saves some processing cause needs no query as it calculated once and used many times

You also can write a custom rules event (API), containing a query on nodes table with condition node.uid == user->uid and node.type == "TYPE_MACHINE_NAME", then if query is not empty, that means user has already submitted a content of that type. so return False.

While given answer works great, there are usually a variety of different methods to achieve your goals, one solution could be usage of a combination of Views and Views Bulk Operations (VBO) modules to achieve that

  • Create a view containing nodes of your desired type
  • Add a contextual filter and limits results to nodes written by logged in user
  • add a VBO view mode
  • in rules you can load a VBO items (check how)
  • Now if array is empty, created node is the first node of that type which the user has submitted

You also might do all the job with Rules, if you don't want this feature for many content types you can add a Boolean field to the user's account with default value of 'False' indicating if user has written his/her first content of desired type, then on node submit event you can check this field to recognize if this post is his/her first post of that type or not. Remember to set this field to True after submission of first content of desired type.

The above approach saves some processing cause needs no query as it calculated once and used many times

You also can write a custom rules event (API), containing a query on nodes table with condition node.uid == user->uid and node.type == "TYPE_MACHINE_NAME", then if query is not empty, that means user has already submitted a content of that type. so return False.

deleted 4 characters in body
Source Link

While given answer works great, there are usually a variety of different methods to achieve your goals, one solution could be usage of a combination of Views and Views Bulk Operation modules to achieve that

  • Create a view containing nodes of your desired type
  • Add a contextual filter and limits results to nodes written by logged in user
  • add a VBO view mode
  • in rules you can load a VBO items (check how)
  • Now if array is empty, created node is the first node of that type which the user has submitted

You also might do all the job with Rules, if you don't want this feature for many content types you can add a Boolean field to the user's account with default value of 'False' indicating if user has written his/her first content of desired type, then on node submit event you can check this field to recognize if this post is his/her first post of that type or not. Remember to set this field to True after submission of first content of desired type.

The above approach saves some processing cause needs no query as it calculated once and used many times

You also can write a custom rules event (API), containing a query on nodes table with condition node.uid == user->uid and node.type == "TYPE_MACHINE_NAME", then if query is not empty, that means user has already had submitted a content of that type. so return False.

While given answer works great, there are usually a variety of different methods to achieve your goals, one solution could be usage of a combination of Views and Views Bulk Operation modules to achieve that

  • Create a view containing nodes of your desired type
  • Add a contextual filter and limits results to nodes written by logged in user
  • add a VBO view mode
  • in rules you can load a VBO items (check how)
  • Now if array is empty, created node is the first node of that type which the user has submitted

You also might do all the job with Rules, if you don't want this feature for many content types you can add a Boolean field to the user's account with default value of 'False' indicating if user has written his/her first content of desired type, then on node submit event you can check this field to recognize if this post is his/her first post of that type or not. Remember to set this field to True after submission of first content of desired type.

The above approach saves some processing cause needs no query as it calculated once and used many times

You also can write a custom rules event (API), containing a query on nodes table with condition node.uid == user->uid and node.type == "TYPE_MACHINE_NAME", then if query is not empty, that means user has already had submitted a content of that type. so return False.

While given answer works great, there are usually a variety of different methods to achieve your goals, one solution could be usage of a combination of Views and Views Bulk Operation modules to achieve that

  • Create a view containing nodes of your desired type
  • Add a contextual filter and limits results to nodes written by logged in user
  • add a VBO view mode
  • in rules you can load a VBO items (check how)
  • Now if array is empty, created node is the first node of that type which the user has submitted

You also might do all the job with Rules, if you don't want this feature for many content types you can add a Boolean field to the user's account with default value of 'False' indicating if user has written his/her first content of desired type, then on node submit event you can check this field to recognize if this post is his/her first post of that type or not. Remember to set this field to True after submission of first content of desired type.

The above approach saves some processing cause needs no query as it calculated once and used many times

You also can write a custom rules event (API), containing a query on nodes table with condition node.uid == user->uid and node.type == "TYPE_MACHINE_NAME", then if query is not empty, that means user has already submitted a content of that type. so return False.

added 101 characters in body
Source Link

While given answer works great, there are usually a variety of different methods to achieve your goals, one solution could be usage of a combination of Views and Views Bulk Operation modules to achieve that

  • Create a view containing nodes of your desired type
  • Add a contextual filter and limits results to nodes written by logged in user
  • add a VBO view mode
  • in rules you can load a VBO items (check how)
  • Now if array is empty, created node is the first node of that type which the user has submitted

You also might do all the job with Rules, if you don't want this feature for many content types you can add a Boolean field to the user's account with default value of 'False' indicating if user has written his/her first content of desired type, then on node submit event you can check this field to recognize if this post is his/her first post of that type or not. Remember to set this field to True after submission of first content of desired type.

The above approach saves some processing cause needs no query as it calculated once and used many times

You also can write a custom rules event (API), containing a query on nodes table with condition node.uid == user->uid and node.type == "TYPE_MACHINE_NAME", then if query is not empty, that means user has already had submitted a content of that type. so return False.

While given answer works great, there are usually a variety of different methods to achieve your goals, one solution could be usage of a combination of Views and Views Bulk Operation modules to achieve that

  • Create a view containing nodes of your desired type
  • Add a contextual filter and limits results to nodes written by logged in user
  • add a VBO view mode
  • in rules you can load a VBO items (check how)
  • Now if array is empty, created node is the first node of that type which the user has submitted

You also might do all the job with Rules, if you don't want this feature for many content types you can add a Boolean field to the user's account with default value of 'False' indicating if user has written his/her first content of desired type, then on node submit event you can check this field to recognize if this post is his/her first post of that type or not. Remember to set this field to True after submission of first content of desired type.

You also can write a custom rules event (API), containing a query on nodes table with condition node.uid == user->uid and node.type == "TYPE_MACHINE_NAME", then if query is not empty, that means user has already had submitted a content of that type. so return False.

While given answer works great, there are usually a variety of different methods to achieve your goals, one solution could be usage of a combination of Views and Views Bulk Operation modules to achieve that

  • Create a view containing nodes of your desired type
  • Add a contextual filter and limits results to nodes written by logged in user
  • add a VBO view mode
  • in rules you can load a VBO items (check how)
  • Now if array is empty, created node is the first node of that type which the user has submitted

You also might do all the job with Rules, if you don't want this feature for many content types you can add a Boolean field to the user's account with default value of 'False' indicating if user has written his/her first content of desired type, then on node submit event you can check this field to recognize if this post is his/her first post of that type or not. Remember to set this field to True after submission of first content of desired type.

The above approach saves some processing cause needs no query as it calculated once and used many times

You also can write a custom rules event (API), containing a query on nodes table with condition node.uid == user->uid and node.type == "TYPE_MACHINE_NAME", then if query is not empty, that means user has already had submitted a content of that type. so return False.

Source Link
Loading